DataNucleus jars are OSGi bundles, and as such, can be deployed in an OSGi environment.
Being an OSGi environment care must be taken with respect to class-loading. In particular
the persistence property
datanucleus.primaryClassLoader
will need setting.
Please refer to the following guide(s) for assistance until a definitive guide can be
provided
Some key points around integration with OSGi are as follows :-
-
Any dependent jar that is required by DataNucleus needs to be OSGi enabled.
By this we mean the jar needs to have the MANIFEST.MF file including
ExportPackage
for
the packages required by DataNucleus. Failure to have this will result in
ClassNotFoundException
when trying to load its classes.
-
The
jdo-api.jar
that is included in the DataNucleus distribution is OSGi enabled, as
is v3.0.1, and all later versions.
-
The Geronimo "jpa" jar that is included in the DataNucleus distribution is OSGi enabled.
-
When using DataNucleus in an Eclipse Equinox OSGi environment set the persistence property
datanucleus.plugin.pluginRegistryClassName
as
org.datanucleus.plugin.EclipsePluginRegistry
-
When using DataNucleus in other OSGi environments set the persistence property
datanucleus.plugin.pluginRegistryClassName
to
org.datanucleus.plugin.OSGiPluginRegistry
|