Jump to: navigation, search

Difference between revisions of "Gemini/JPA/Documentation/Integrations"

m (JNDI)
m (JNDI)
Line 29: Line 29:
 
</source>
 
</source>
  
Note that the service must be of type '''javax.sql.DataSource''' and not be a JTA data 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 the [[Gemini/JPA/Documentation/OtherTopics#Configuration_Admin | Configuration Admin]] section for details on how to use Config Admin with Gemini JPA.
 
See the [[Gemini/JPA/Documentation/OtherTopics#Configuration_Admin | Configuration Admin]] section for details on how to use Config Admin with Gemini JPA.

Revision as of 16:27, 21 June 2013

Integrations

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

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 Using Gemini DBAccess section.

JNDI

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:

<persistence-unit name="MyPU" transaction-type="RESOURCE_LOCAL">
        ...
        <non-jta-data-source>jdbc/myDS</non-jta-data-source>
        ...
</persistence-unit>

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:

<persistence-unit name="MyPU" transaction-type="RESOURCE_LOCAL">
        ...
        <non-jta-data-source>osgi:service/myDS</non-jta-data-source>
        ...
</persistence-unit>

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

See the Configuration Admin section for details on how to use Config Admin with Gemini JPA.