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

From Eclipsepedia

Jump to: navigation, search
(JNDI)
(Integrations)
 
(2 intermediate revisions by one user not shown)
Line 1: Line 1:
 
== Integrations ==
 
== Integrations ==
  
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 ====
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">
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.

Latest revision as of 16:31, 21 June 2013

Contents

[edit] Integrations

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

[edit] 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.

[edit] 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.

[edit] Configuration Admin

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