There are a number of integrations with other components that make Gemini JPA play well with others.

+

Gemini JPA is integrated with a number of other technologies. The following sections describe how other technologies fit with Gemini JPA.

==== JDBC ====

==== JDBC ====

−

Gemini JPA is integrated with the OSGi JDBC spec. In fact, the use of Gemini DBAccess to access a JDBC datasource is highly recommended. See the [[Documentation:CreatingAnApplication#Using_Gemini_DBAccess | Using Gemini DBAccess]] section.

+

Gemini JPA is integrated with the OSGi JDBC spec. In fact, the use of Gemini DBAccess to access a JDBC datasource is highly recommended. See the [[Gemini/JPA/Documentation/CreatingAnApplication#Using_Gemini_DBAccess | Using Gemini DBAccess]] section.

==== JNDI ====

==== JNDI ====

−

Coming Soon.

+

Gemini JPA can do a JNDI lookup to find an existing data source if an entry is supplied in the '''non-jta-data-source''' element in the persistence.xml descriptor. For example:

+

+

<source lang="xml">

+

<persistence-unit name="MyPU" transaction-type="RESOURCE_LOCAL">

+

...

+

<non-jta-data-source>jdbc/myDS</non-jta-data-source>

+

...

+

</persistence-unit>

+

</source>

+

+

If the data source is available in the OSGi service registry and an OSGi JNDI provider is active then the OSGi JNDI syntax of ''osgi:service'' can be used to specify it. (The ''osgi:servicelist'' syntax is not supported.) The following entry could be present in the persistence descriptor to refer to a data source that was registered as a service, with a service property name defined by '''org.osgi.service.jndi.JNDIConstants.JNDI_SERVICENAME''' and a value of '''''myDS''''':

+

+

<source lang="xml">

+

<persistence-unit name="MyPU" transaction-type="RESOURCE_LOCAL">

+

...

+

<non-jta-data-source>osgi:service/myDS</non-jta-data-source>

+

...

+

</persistence-unit>

+

</source>

+

+

Note that the service must be of type '''javax.sql.DataSource'''. It is not currently supported for them to be JTA data sources.

==== Configuration Admin ====

==== Configuration Admin ====

−

See [[OtherTopics#Configuration_Admin]] section.

+

See the [[Gemini/JPA/Documentation/OtherTopics#Configuration_Admin | Configuration Admin]] section for details on how to use Config Admin with Gemini JPA.

If the data source is available in the OSGi service registry and an OSGi JNDI provider is active then the OSGi JNDI syntax of osgi:service can be used to specify it. (The osgi:servicelist syntax is not supported.) The following entry could be present in the persistence descriptor to refer to a data source that was registered as a service, with a service property name defined by org.osgi.service.jndi.JNDIConstants.JNDI_SERVICENAME and a value of myDS: