Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

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

(JNDI)
m (JNDI)
Line 19: Line 19:
 
</source>
 
</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 '''org.osgi.service.jndi.JNDIConstants.JNDI_SERVICENAME''' value of '''''myDS''''':
+
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">
 
<source lang="xml">

Revision as of 12:37, 19 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 and not be a JTA data source.

Configuration Admin

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

Back to the top