Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Gemini » [Solved]Proxy could not create EMF....(Error: Proxy could not create EMF when calling EntityManager em = emf.createEntityManager();)
[Solved]Proxy could not create EMF.... [message #1015929] Mon, 04 March 2013 09:55 Go to next message
Oliver Kolling is currently offline Oliver KollingFriend
Messages: 24
Registered: April 2010
Junior Member
Hello, I'm having a hard time trying to get gemini running in an rcp application together with oracle.
Actually I created 4 bundles/plugins (persistence bundle, oracle jdbc driver bundle, gemini bundle and the application bundle.

When I start my application, it seams that all is going fine and all bundles are starting, including gemini finding my persistence descriptor. But when I try to retrieve the EMF service from the context, and call a EntityManager em = emf.createEntityManager(); I get *** FATAL ERROR *** Proxy could not create EMF TCOJPAProvider from provider org.eclipse.gemini.jpa.ProviderWrapper@da9d23
How can that be when he before found everything? Actually I don`t know where/what to start looking for?

See the trace below:

Gemini JPA starting...
ServicesUtil.RegisterProviderService for org.eclipse.persistence.jpa.PersistenceProvider
ServicesUtil successfully registered provider service for org.eclipse.persistence.jpa.PersistenceProvider
ConfigAdminListener registering
ConfigAdminListener registered
GeminiExtender.startListening
GeminiExtender.lookForExistingBundles:
org.eclipse.osgi_3.8.1.v20120830-144521 [0]
org.eclipse.e4.ui.workbench.addons.swt_0.10.2.v20121204-133635 [1]
org.eclipse.core.filesystem.win32.x86_1.1.300.v20120522-1137 [2]
org.w3c.css.sac_1.3.1.v200903091627 [3]
org.eclipse.equinox.registry_3.5.200.v20120522-1841 [4]
org.eclipse.persistence.nosql_2.4.0.v20120608-r11652 [5]
org.eclipse.core.contenttype_3.4.200.v20120523-2004 [6]
org.eclipse.e4.ui.widgets_0.12.0.v20120905-175524 [7]
org.eclipse.ant.core_3.2.400.v20120523-1752 [9]
org.eclipse.help_3.6.0.v20120521-2344 [10]
javax.mail_1.4.0.v201005080615 [11]
org.eclipse.e4.ui.workbench_0.10.3.v20121207-204447 [12]
org.eclipse.core.filesystem_1.3.200.v20120522-2012 [13]
org.eclipse.e4.core.contexts_1.2.0.v20121024-182359 [14]
org.eclipse.emf.common_2.8.0.v20120911-0500 [15]
org.apache.batik.util.gui_1.6.0.v201011041432 [16]
org.eclipse.core.runtime_3.8.0.v20120521-2346 [17]
org.eclipse.persistence.jpa.equinox.weaving_2.4.0.v20120608-r11652 [18]
javax.persistence_2.0.4.v201112161009 [19]
org.eclipse.persistence.jpa.jpql_2.0.0.v20120608-r11652 [21]
org.w3c.dom.svg_1.1.0.v201011041433 [22]
javax.inject_1.0.0.v20091030 [23]
org.eclipse.e4.ui.css.core_0.10.2.v20120806-171245 [24]
org.eclipse.ui.workbench_3.104.0.v20121219-151754 [25]
osgi.enterprise_4.2.0.v201108120515 [26]
javax.xml_1.3.4.v201005080400 [27]
org.eclipse.e4.core.di.extensions_0.11.100.v20121024-182359 [28]
javax.annotation_1.0.0.v20101115-0725 [29]
com.ibm.icu_4.4.2.v20110823 [30]
org.eclipse.ui_3.103.0.v20120705-114351 [31]
javax.activation_1.1.0.v201108011116 [33]
org.apache.commons.logging_1.0.4.v201101211617 [34]
org.apache.ant_1.8.3.v20120321-1730 [35]
org.eclipse.swt.win32.win32.x86_3.100.1.v4235f [36]
org.eclipse.e4.ui.workbench3_0.12.0.v20120521-2329 [37]
org.eclipse.core.databinding.property_1.4.100.v20120523-1955 [38]
org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004 [40]
org.eclipse.e4.ui.services_0.10.2.v20121129-151235 [41]
org.w3c.dom.smil_1.0.0.v200806040011 [43]
org.eclipse.osgi.util_3.2.300.v20120522-1822 [44]
javax.servlet_3.0.0.v201112011016 [45]
org.eclipse.core.resources.win32.x86_3.5.100.v20120522-1137 [46]
org.eclipse.e4.core.services_1.0.0.v20120521-2346 [47]
org.eclipse.orbit.mongodb_2.7.3.v20120213-1927 [48]
org.eclipse.e4.ui.css.swt_0.10.2.v20120821-165957 [49]
org.eclipse.swt_3.100.1.v4235f [51]
org.eclipse.equinox.preferences_3.5.0.v20120522-1841 [52]
org.eclipse.e4.ui.di_0.10.1.v20120523-1955 [53]
org.eclipse.core.databinding.observable_1.4.1.v20120521-2329 [54]
org.eclipse.e4.ui.bindings_0.10.2.v20121107-162442 [55]
org.eclipse.core.commands_3.6.1.v20120814-150512 [56]
org.eclipse.core.runtime.compatibility.registry_3.5.100.v20120521-2346 [57]
org.eclipse.emf.ecore.xmi_2.8.0.v20120911-0500 [58]
org.eclipse.equinox.concurrent_1.0.300.v20120912-130548 [59]
org.eclipse.core.variables_3.2.600.v20120521-2012 [60]
org.apache.batik.css_1.6.0.v201011041432 [61]
org.eclipse.e4.ui.css.swt.theme_0.9.3.v20120806-170624 [62]
org.eclipse.e4.ui.workbench.swt_0.10.2.v20121207-204447 [63]
org.eclipse.equinox.app_1.3.100.v20120522-1841 [64]
org.eclipse.equinox.event_1.2.200.v20120522-2049 [65]
org.eclipse.jface.databinding_1.6.0.v20120521-2329 [66]
org.eclipse.core.resources_3.8.1.v20120802-154922 [67]
org.eclipse.jface_3.8.101.v20121026-132746 [68]
org.eclipse.e4.ui.workbench.renderers.swt_0.10.3.v20121206-163705 [69]
org.eclipse.core.jobs_3.5.300.v20120622-204750 [70]
org.eclipse.emf.databinding_1.2.0.v20120917-0436 [71]
org.eclipse.core.databinding.beans_1.2.200.v20120523-1955 [72]
org.eclipse.equinox.util_1.0.400.v20120522-2049 [73]
org.apache.batik.util_1.6.0.v201011041432 [74]
org.eclipse.core.databinding_1.4.1.v20120521-2329 [75]
org.eclipse.ui.forms_3.5.200.v20120705-114351 [76]
org.eclipse.emf.ecore.change_2.8.0.v20120911-0500 [77]
org.eclipse.persistence.oracle_2.4.0.v20120608-r11652 [78]
org.eclipse.emf.ecore_2.8.1.v20120911-0500 [79]
org.eclipse.osgi.services_3.3.100.v20120522-1822 [80]
org.eclipse.core.expressions_3.4.401.v20120627-124442 [81]
org.eclipse.e4.core.di_1.2.0.v20121024-173149 [82]
org.eclipse.gemini.jpa_1.1.0.RELEASE [83]
org.eclipse.equinox.common_3.6.100.v20120522-1841 [85]
org.eclipse.e4.core.commands_0.10.1.v20120523-1955 [86]
org.eclipse.equinox.ds_1.4.0.v20120522-1841 [87]
org.eclipse.e4.ui.model.workbench_0.10.1.v20120523-1955 [88]
lu.etat.igss.ceo.tco.TEST_E4_BundleStart.plugin_1.0.0.qualifier [104]
org.eclipse.persistence.asm_3.3.1.v201206041142 [113]
org.eclipse.persistence.antlr_3.2.0.v201206041011 [114]
org.eclipse.persistence.core_2.4.0.v20120608-r11652 [116]
org.eclipse.persistence.jpa_2.4.0.v20120608-r11652 [117]
lu.etat.igss.ceo.tco.gemini_1.0.0 [133]
lu.etat.igss.ceo.tco.jpa.persistence_1.0.0.qualifier [134]
lu.etat.igss.ceo.tco.jdbc.driver.oracle_6.0.0 [135]
Gemini JPA started
Extender - bundle event: STARTED bundle=lu.etat.igss.ceo.tco.gemini
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.workbench.addons.swt
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.equinox.registry
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.contenttype
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.ant.core
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.help
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.workbench
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.equinox.util
Extender - bundle event: STARTING bundle=org.eclipse.equinox.util
Extender - bundle event: STARTED bundle=org.eclipse.equinox.util
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.filesystem
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.core.contexts
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.emf.common
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.ui.workbench
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.core.di.extensions
Extender - bundle event: LAZY_ACTIVATION bundle=com.ibm.icu
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.ui
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.databinding.property
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.runtime.compatibility.auth
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.services
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.core.services
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.css.swt
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.equinox.preferences
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.di
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.databinding.observable
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.bindings
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.emf.ecore.xmi
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.equinox.concurrent
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.variables
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.css.swt.theme
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.css.swt.theme
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.css.swt.theme
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.workbench.swt
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.equinox.app
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.equinox.event
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.resources
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.jface
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.workbench.renderers.swt
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.jobs
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.emf.databinding
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.databinding
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.ui.forms
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.emf.ecore.change
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.emf.ecore
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.core.expressions
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.core.di
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.core.commands
Extender - bundle event: LAZY_ACTIVATION bundle=org.eclipse.e4.ui.model.workbench
Extender - bundle event: STARTING bundle=org.eclipse.core.runtime
Extender - bundle event: STARTING bundle=org.eclipse.core.contenttype
Extender - bundle event: STARTING bundle=org.eclipse.equinox.registry
Extender - bundle event: STARTED bundle=org.eclipse.equinox.registry
Extender - bundle event: STARTING bundle=org.eclipse.equinox.preferences
Extender - bundle event: STARTED bundle=org.eclipse.equinox.preferences
Extender - bundle event: STARTED bundle=org.eclipse.core.contenttype
Extender - bundle event: STARTING bundle=org.eclipse.core.jobs
Extender - bundle event: STARTED bundle=org.eclipse.core.jobs
Extender - bundle event: STARTING bundle=org.eclipse.equinox.app
Extender - bundle event: STARTED bundle=org.eclipse.equinox.app
Extender - bundle event: STARTED bundle=org.eclipse.core.runtime
Extender - bundle event: STARTING bundle=osgi.enterprise
Extender - bundle event: STARTED bundle=osgi.enterprise
Extender - bundle event: STARTING bundle=lu.etat.igss.ceo.tco.jpa.persistence
class lu.etat.igss.ceo.tco.persistence.jpa.activator.Activator started
Extender - bundle event: STARTED bundle=lu.etat.igss.ceo.tco.jpa.persistence
GeminiExtender.refreshBundle: bundle=lu.etat.igss.ceo.tco.jpa.persistence id=134 state=ACTIVE
Extender - bundle event: STARTED bundle=org.eclipse.osgi
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.workbench.swt
Extender - bundle event: STARTING bundle=org.eclipse.jface
Extender - bundle event: STARTED bundle=org.eclipse.jface
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.workbench.swt
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.model.workbench
Extender - bundle event: STARTING bundle=org.eclipse.emf.common
Extender - bundle event: STARTED bundle=org.eclipse.emf.common
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.model.workbench
Extender - bundle event: STARTING bundle=org.eclipse.e4.core.services
Extender - bundle event: STARTED bundle=org.eclipse.e4.core.services
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.workbench
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.workbench
Extender - bundle event: STARTING bundle=org.eclipse.e4.core.contexts
Extender - bundle event: STARTED bundle=org.eclipse.e4.core.contexts
Extender - bundle event: STOPPING bundle=lu.etat.igss.ceo.tco.jpa.persistence
class lu.etat.igss.ceo.tco.persistence.jpa.activator.Activator stopped
Extender - bundle event: STOPPED bundle=lu.etat.igss.ceo.tco.jpa.persistence
Extender - bundle event: UNRESOLVED bundle=lu.etat.igss.ceo.tco.TEST_E4_BundleStart.plugin
Extender - bundle event: UNRESOLVED bundle=lu.etat.igss.ceo.tco.jpa.persistence
GeminiExtender.tryAssigningPersistenceUnitsInBundle: bundle=lu.etat.igss.ceo.tco.jpa.persistence id=134 state=INSTALLED
Looking for persistence descriptors in bundle lu.etat.igss.ceo.tco.jpa.persistence
Found persistence descriptors: [Descriptor: META-INF/persistence.xml]
Parsing persistence descriptor META-INF/persistence.xml
getDescriptorStream - url=bundleentry://134.fwk21404650/META-INF/persistence.xml descPath=META-INF/persistence.xml jarPath=null
Finished parsing persistence descriptor bundleentry://134.fwk21404650/META-INF/persistence.xml
Found 1 persistence units
Parsed persistence descriptors: [
PUnit: TCOJPAProvider
--- XML Data ---
provider: org.eclipse.persistence.jpa.PersistenceProvider
classes: [lu.etat.igss.ceo.tco.persistence.jpa.model.Rol, lu.etat.igss.ceo.tco.persistence.jpa.model.Eqptyp, lu.etat.igss.ceo.tco.persistence.jpa.model.Adr, lu.etat.igss.ceo.tco.persistence.jpa.model.Pdo, lu.etat.igss.ceo.tco.persistence.jpa.model.Prf, lu.etat.igss.ceo.tco.persistence.jpa.model.Ain, lu.etat.igss.ceo.tco.persistence.jpa.model.UcmDem, lu.etat.igss.ceo.tco.persistence.jpa.model.Piectg, lu.etat.igss.ceo.tco.persistence.jpa.model.Utl, lu.etat.igss.ceo.tco.persistence.jpa.model.Pev, lu.etat.igss.ceo.tco.persistence.jpa.model.Utlprf, lu.etat.igss.ceo.tco.persistence.jpa.model.Sdo, lu.etat.igss.ceo.tco.persistence.jpa.model.Tut, lu.etat.igss.ceo.tco.persistence.jpa.model.Dmd, lu.etat.igss.ceo.tco.persistence.jpa.model.Dem, lu.etat.igss.ceo.tco.persistence.jpa.model.Exr]
driverClassName: oracle.jdbc.OracleDriver
driverUrl: jdbc:oracle:thin:@xxxx.xxxx.xxxx:1521:xxxx
driverUser: xxxx
driverPassword: xxxx
--- Runtime Data ---
descriptorInfo: Descriptor: META-INF/persistence.xml]
Assigning punit TCOJPAProvider to this provider
Manager.preResolve, bundle: lu.etat.igss.ceo.tco.jpa.persistence
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.services
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.services
Extender - bundle event: STARTING bundle=org.eclipse.e4.core.di
Extender - bundle event: STARTED bundle=org.eclipse.e4.core.di
Extender - bundle event: STARTING bundle=org.eclipse.equinox.event
Extender - bundle event: STARTED bundle=org.eclipse.equinox.event
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.di
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.di
Extender - bundle event: STARTING bundle=org.eclipse.core.databinding.observable
Extender - bundle event: STARTED bundle=org.eclipse.core.databinding.observable
Extender - bundle event: STARTING bundle=org.eclipse.emf.ecore
Extender - bundle event: STARTED bundle=org.eclipse.emf.ecore
Extender - bundle event: STARTING bundle=org.eclipse.emf.ecore.xmi
Extender - bundle event: STARTED bundle=org.eclipse.emf.ecore.xmi
Extender - bundle event: STARTING bundle=org.eclipse.core.resources
RegisterTransformer found unitInfo in punits for TCOJPAProvider
RegisterTransformer - no weaving service exists yet for TCOJPAProvider
ServicesUtil successfully registered weaving hook for TCOJPAProvider
Extender - bundle event: RESOLVED bundle=lu.etat.igss.ceo.tco.jpa.persistence
Extender - bundle event: RESOLVED bundle=lu.etat.igss.ceo.tco.TEST_E4_BundleStart.plugin
Extender - bundle event: STARTING bundle=lu.etat.igss.ceo.tco.jpa.persistence
GeminiExtender.registerPersistenceUnitsInBundle: bundle=lu.etat.igss.ceo.tco.jpa.persistence id=134 state=STARTING
GeminiExtender checking bundle compatibility of: bundle=lu.etat.igss.ceo.tco.jpa.persistence id=134 state=STARTING
GeminiExtender provider compatible with bundle: bundle=lu.etat.igss.ceo.tco.jpa.persistence id=134 state=STARTING
Manager.registerPersistenceUnits: [
PUnit: TCOJPAProvider
--- XML Data ---
provider: org.eclipse.persistence.jpa.PersistenceProvider
classes: [lu.etat.igss.ceo.tco.persistence.jpa.model.Rol, lu.etat.igss.ceo.tco.persistence.jpa.model.Eqptyp, lu.etat.igss.ceo.tco.persistence.jpa.model.Adr, lu.etat.igss.ceo.tco.persistence.jpa.model.Pdo, lu.etat.igss.ceo.tco.persistence.jpa.model.Prf, lu.etat.igss.ceo.tco.persistence.jpa.model.Ain, lu.etat.igss.ceo.tco.persistence.jpa.model.UcmDem, lu.etat.igss.ceo.tco.persistence.jpa.model.Piectg, lu.etat.igss.ceo.tco.persistence.jpa.model.Utl, lu.etat.igss.ceo.tco.persistence.jpa.model.Pev, lu.etat.igss.ceo.tco.persistence.jpa.model.Utlprf, lu.etat.igss.ceo.tco.persistence.jpa.model.Sdo, lu.etat.igss.ceo.tco.persistence.jpa.model.Tut, lu.etat.igss.ceo.tco.persistence.jpa.model.Dmd, lu.etat.igss.ceo.tco.persistence.jpa.model.Dem, lu.etat.igss.ceo.tco.persistence.jpa.model.Exr]
driverClassName: oracle.jdbc.OracleDriver
driverUrl: jdbc:oracle:thin:@xxxx.xxxx.xxxx:1521:xxxx
driverUser: xxxx
driverPassword: xxxxx
--- Runtime Data ---
bundle: lu.etat.igss.ceo.tco.jpa.persistence
assignedProvider: org.eclipse.gemini.jpa.ProviderWrapper@da9d23
descriptorInfo: Descriptor: META-INF/persistence.xml]
ServicesUtil.registerEMFServices for TCOJPAProvider
ServicesUtil.buildServiceProps:
key: osgi.managed.bundles value: lu.etat.igss.ceo.tco.jpa.persistence_1.0.0.qualifier
key: osgi.unit.version value: 1.0.0.qualifier
key: osgi.unit.name value: TCOJPAProvider
key: osgi.unit.provider value: org.eclipse.persistence.jpa.PersistenceProvider
ServicesUtil.tryToRegisterEMF service for TCOJPAProvider
Loading class javax.persistence.EntityManagerFactory from bundle lu.etat.igss.ceo.tco.gemini_1.0.0 [133]
ServicesUtil EMF proxy class array:
interface javax.persistence.EntityManagerFactory
ServicesUtil created EMF proxy
ServicesUtil trackDataSourceFactory for p-unit TCOJPAProvider
ServicesUtil starting tracker to wait for DSF for TCOJPAProvider
DataSourceFactory service for oracle.jdbc.OracleDriver not found.
JDBC driver oracle.jdbc.OracleDriver found locally.
ServicesUtil stopTrackingDataSourceFactory for p-unit TCOJPAProvider
ServicesUtil stopping tracker for p-unit TCOJPAProvider
ServicesUtil EMF service: {javax.persistence.EntityManagerFactory}={osgi.managed.bundles=lu.etat.igss.ceo.tco.jpa.persistence_1.0.0.qualifier, osgi.unit.version=1.0.0.qualifier, osgi.unit.name=TCOJPAProvider, osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider, service.id=64}
ServicesUtil.registerEMFBuilder service for TCOJPAProvider
Loading class org.osgi.service.jpa.EntityManagerFactoryBuilder from bundle lu.etat.igss.ceo.tco.gemini_1.0.0 [133]
ServicesUtil EMFBuilder proxied classes: [interface org.osgi.service.jpa.EntityManagerFactoryBuilder]
ServicesUtil created EMFBuilder proxy
ServicesUtil EMFBuilder service: {org.osgi.service.jpa.EntityManagerFactoryBuilder}={osgi.managed.bundles=lu.etat.igss.ceo.tco.jpa.persistence_1.0.0.qualifier, osgi.unit.version=1.0.0.qualifier, osgi.unit.name=TCOJPAProvider, osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider, service.id=65}
adding Service: class $Proxy9
class lu.etat.igss.ceo.tco.persistence.jpa.activator.Activator started
Extender - bundle event: STARTED bundle=lu.etat.igss.ceo.tco.jpa.persistence
Extender - bundle event: STARTED bundle=org.eclipse.core.resources
Extender - bundle event: STARTING bundle=org.eclipse.core.filesystem
Extender - bundle event: STARTED bundle=org.eclipse.core.filesystem
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.workbench.addons.swt
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.workbench.addons.swt
Extender - bundle event: STARTING bundle=org.eclipse.ui.workbench
Extender - bundle event: STARTING bundle=org.eclipse.ui
Extender - bundle event: STARTED bundle=org.eclipse.ui
Extender - bundle event: STARTED bundle=org.eclipse.ui.workbench
Extender - bundle event: STARTING bundle=org.eclipse.core.expressions
Extender - bundle event: STARTED bundle=org.eclipse.core.expressions
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.workbench.renderers.swt
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.workbench.renderers.swt
Extender - bundle event: STARTING bundle=org.eclipse.e4.core.commands
Extender - bundle event: STARTED bundle=org.eclipse.e4.core.commands
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.bindings
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.bindings
Extender - bundle event: STARTING bundle=org.eclipse.e4.ui.css.swt
Extender - bundle event: STARTED bundle=org.eclipse.e4.ui.css.swt
EMFProxy invocation on method createEntityManager
EMFProxy - getEMF for punit TCOJPAProvider emf=null
EMFProxy creating new EMF for TCOJPAProvider
ProviderWrapper createEMF invoked for p-unit: TCOJPAProvider props: {}
DataSourceUtil.acquireDataSource - for punit TCOJPAProvider
Trying dynamic lookup of DSF for oracle.jdbc.OracleDriver for p-unit TCOJPAProvider
DataSourceUtil - Trying to load driver oracle.jdbc.OracleDriver locally from p-unit bundle TCOJPAProvider
DataSourceUtil - JDBC driver oracle.jdbc.OracleDriver loaded locally from p-unit bundle TCOJPAProvider
DataSourceUtil.getJDBCProperties
fromMap: {}
fromDescriptor:
PUnit: TCOJPAProvider
--- XML Data ---
provider: org.eclipse.persistence.jpa.PersistenceProvider
classes: [lu.etat.igss.ceo.tco.persistence.jpa.model.Rol, lu.etat.igss.ceo.tco.persistence.jpa.model.Eqptyp, lu.etat.igss.ceo.tco.persistence.jpa.model.Adr, lu.etat.igss.ceo.tco.persistence.jpa.model.Pdo, lu.etat.igss.ceo.tco.persistence.jpa.model.Prf, lu.etat.igss.ceo.tco.persistence.jpa.model.Ain, lu.etat.igss.ceo.tco.persistence.jpa.model.UcmDem, lu.etat.igss.ceo.tco.persistence.jpa.model.Piectg, lu.etat.igss.ceo.tco.persistence.jpa.model.Utl, lu.etat.igss.ceo.tco.persistence.jpa.model.Pev, lu.etat.igss.ceo.tco.persistence.jpa.model.Utlprf, lu.etat.igss.ceo.tco.persistence.jpa.model.Sdo, lu.etat.igss.ceo.tco.persistence.jpa.model.Tut, lu.etat.igss.ceo.tco.persistence.jpa.model.Dmd, lu.etat.igss.ceo.tco.persistence.jpa.model.Dem, lu.etat.igss.ceo.tco.persistence.jpa.model.Exr]
driverClassName: oracle.jdbc.OracleDriver
driverUrl: jdbc:oracle:thin:@xxxx.xxxx.xxxx:1521:xxxx
driverUser: xxxx
driverPassword: xxxx
--- Runtime Data ---
bundle: lu.etat.igss.ceo.tco.jpa.persistence
assignedProvider: org.eclipse.gemini.jpa.ProviderWrapper@da9d23
descriptorInfo: Descriptor: META-INF/persistence.xml
DataSourceUtil.getJDBCProperties - returning:
key: user value: xxxx
key: password value: xxxx
key: url value: jdbc:oracle:thin:@xxxx.xxxx.xxx:1521:xxx
*** FATAL ERROR *** Proxy could not create EMF TCOJPAProvider from provider org.eclipse.gemini.jpa.ProviderWrapper@da9d23
!SESSION 2013-03-04 10:27:02.494 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_11
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product lu.etat.igss.ceo.tco.TEST_E4_BundleStart.plugin.product -clearPersistedState
Command-line arguments: -product lu.etat.igss.ceo.tco.TEST_E4_BundleStart.plugin.product -data C:\devenvIGSS\workspace4x/../runtime-lu.etat.igss.ceo.tco.TEST_E4_BundleStart.product -dev file:C:/devenvIGSS/workspace4x/.metadata/.plugins/org.eclipse.pde.core/lu.etat.igss.ceo.tco.TEST_E4_BundleStart.product/dev.properties -os win32 -ws win32 -arch x86 -consoleLog -clearPersistedState

[Updated on: Thu, 07 March 2013 09:57]

Report message to a moderator

Re: Proxy could not create EMF.... [message #1015952 is a reply to message #1015929] Mon, 04 March 2013 11:55 Go to previous messageGo to next message
Michael Keith is currently offline Michael KeithFriend
Messages: 243
Registered: July 2009
Senior Member
Hi Oliver,

This error occurs when the call to the provider to create an EMF returns null. In other words, EclipseLink is not able to create the EMF for some reason. The most common reason for that is that the provider cannot find the persistence.xml file, but try turning logging on to DEBUG in EclipseLink to find out more. Try doing it as a system property (e.g. using -Declipselink.logging.level=FINEST as a command argument). Maybe it is having a problem finding the driver.

One of the things that people find is that refreshing causes problems in e4, although it doesn't look like this is necessarily a problem in this case. You might want to try disabling refreshing, though, just to see what happens.

BTW, it looks like you are wrapping the Gemini JPA bundle. It doesn't look like this is causing a problem, but I am just curious why you are doing it?

-Mike
Re: Proxy could not create EMF.... [message #1015953 is a reply to message #1015929] Mon, 04 March 2013 11:58 Go to previous messageGo to next message
Michael Keith is currently offline Michael KeithFriend
Messages: 243
Registered: July 2009
Senior Member
BTW, another reason why the provider ignores a persistence.xml file is when there is a typo in the name of the provider. It looks like you are fine, though, in this case.

-Mike
Re: Proxy could not create EMF.... [message #1016005 is a reply to message #1015953] Mon, 04 March 2013 15:15 Go to previous messageGo to next message
Oliver Kolling is currently offline Oliver KollingFriend
Messages: 24
Registered: April 2010
Junior Member
Hi Mike,
thanks for the response. I tried what you suggested, but the eclipselink debugging did not bring up any further helpfull message. I also tried switching off weaving (I guess that`s what you meant by refresh) which I suspected several times already myself, but that did not change the situation as well. The wrapping I did for two reasons the first was that I was running into a classloader issue where I could not instantiate a object returned from the entity manager into an object of the same class in my application bundle. I suspected the gemini jar here. And the second was, that I just thought it would be a cleaner design, as I did the same thing for my oracle driver jar.
But are you asking this, because you are suggesting to put the gemini jar into the application bundle ?
Re: Proxy could not create EMF.... [message #1016024 is a reply to message #1016005] Mon, 04 March 2013 16:05 Go to previous messageGo to next message
Michael Keith is currently offline Michael KeithFriend
Messages: 243
Registered: July 2009
Senior Member
Quote:
I also tried switching off weaving (I guess that`s what you meant by refresh)

No, I meant to disable Gemini JPA refreshing using the property described here.

Quote:
The wrapping I did for two reasons the first was that I was running into a classloader issue where I could not instantiate a object returned from the entity manager into an object of the same class in my application bundle. I suspected the gemini jar here. And the second was, that I just thought it would be a cleaner design, as I did the same thing for my oracle driver jar.
But are you asking this, because you are suggesting to put the gemini jar into the application bundle ?


Gemini JPA is already a bundle. There is no reason to wrap it, and in fact wrapping it is only going to possibly introduce problems.

When you say that you did the same thing for your driver jar I'm not sure what you mean. From the debug trace that you posted it looked like Gemini found the Oracle driver class in the persistence bundle, so that is what it is assuming. Gemini DBAccess does not currently support Oracle DB so you need to store it locally in the persistence bundle. If all of the classes are not there then that may be why EclipseLink is having problems (although EclipeLink would normally complain if it can't load a class and you should see that in the log).

[Updated on: Mon, 04 March 2013 16:06]

Report message to a moderator

Re: Proxy could not create EMF.... [message #1016136 is a reply to message #1016024] Tue, 05 March 2013 08:10 Go to previous messageGo to next message
Oliver Kolling is currently offline Oliver KollingFriend
Messages: 24
Registered: April 2010
Junior Member
Quote:
No, I meant to disable Gemini JPA refreshing using the property described here.

50% chance ... that was the other thing I had on my mind ... but yes, I tried that as well already and it didn't change the result. I followed your suggestion to not wrap the gemini jar and I got a little more detailed debugging messages, although it did not change the result either.
What I found is that the ServicesUtil can not find the DSF (see below). It seams that I miss something on integrating the oracle jdbc driver ?

.....
Loading class javax.persistence.EntityManagerFactory from bundle org.eclipse.gemini.jpa_1.1.0.RELEASE [83]
ServicesUtil EMF proxy class array:
interface javax.persistence.EntityManagerFactory
ServicesUtil created EMF proxy
ServicesUtil trackDataSourceFactory for p-unit TCOJPAProvider
ServicesUtil starting tracker to wait for DSF for TCOJPAProvider
DataSourceFactory service for oracle.jdbc.OracleDriver not found.
JDBC driver oracle.jdbc.OracleDriver found locally.
ServicesUtil stopTrackingDataSourceFactory for p-unit TCOJPAProvider
ServicesUtil stopping tracker for p-unit TCOJPAProvider
....
Re: Proxy could not create EMF.... [message #1016195 is a reply to message #1016136] Tue, 05 March 2013 12:54 Go to previous messageGo to next message
Michael Keith is currently offline Michael KeithFriend
Messages: 243
Registered: July 2009
Senior Member
Just to recap, there are a few different ways that Gemini JPA access the JDBC driver.

1. It can use Gemini DBAccess in combination with a JDBC bundle. This is what the DSF is for. It will track a DSF registered by DBAccess. If you are not using DBAccess (and since DBAccess does not support Oracle db then my assumption is that you are NOT using DBAccess) then the DSF will not be found.

2. Let the application caller get a driver data source in whatever way it can and then pass it into the createEntityManagerFactory() call on the EMFBuilder. Gemini JPA will pass it into EclipseLink and EclipseLink will just use that object to obtain connections. This requires using the EMFBuilder, but is more flexible in terms of how a data source can be obtained.

3. Package the JDBC driver jar "locally". This means that you are putting the driver jar inside the persistence bundle and including it in the Bundle-ClassPath manifest header of that bundle. This is what I referenced in my previous post when I said that based on the debug log Gemini JPA is assuming it is local, since it was somehow able to find the driver class in the persistence unit bundle.

You can choose to use either 2 or 3 (although 1 is possible it would require more work since you would need to extend DBAccess to support Oracle), but if you choose 3 there would be no reason to create a separate JDBC driver bundle since the driver jar would need to be embedded inside the persistence bundle.

Hope this helps explain things for you.

-Mike
Re: Proxy could not create EMF.... [message #1016631 is a reply to message #1016195] Thu, 07 March 2013 08:25 Go to previous message
Oliver Kolling is currently offline Oliver KollingFriend
Messages: 24
Registered: April 2010
Junior Member
Problem solved. Thanks for pointing me in the right direction, Mike.
Although solution 2 or 3 should work, they did not for me.
Problem with Quote:
3. Package the JDBC driver jar "locally". This means that you are putting the driver jar inside the persistence bundle ...
was, that oracles ojdbc6.jar is not done for osgi means, it does not export any classes, why just including it in the classpath of the persistence bundle did not work here - there you have your reason for wrapping it into a bundle ... Smile

The problem with version Quote:
2. Let the application caller get a driver data source in whatever way it can and then pass it into the createEntityManagerFactory()
was, that it never changed anything, which made me debugging through to the org.eclipse.persistence.internal.jpa.deployment.JPAInitializer code here:
protected SEPersistenceUnitInfo findPersistenceUnitInfoInArchives(String puName, Map m) {
        SEPersistenceUnitInfo persistenceUnitInfo = null;
        // mkeith - get resource name from prop and include in subsequent call
        String descriptorPath = (String) m.get(PersistenceUnitProperties.ECLIPSELINK_PERSISTENCE_XML);
        final Set<Archive> pars;
        if (descriptorPath != null) {
            pars = PersistenceUnitProcessor.findPersistenceArchives(initializationClassloader, descriptorPath);
        } else {
            pars = PersistenceUnitProcessor.findPersistenceArchives(initializationClassloader);
        }
        try {
            for (Archive archive: pars) {
                persistenceUnitInfo = findPersistenceUnitInfoInArchive(puName, archive, m);
                if(persistenceUnitInfo != null) {
                    break;
                }
            }
        } finally {
            for (Archive archive: pars) {
                archive.close();
            }
        }
        return persistenceUnitInfo;
    }


and the descriptorPath in the map it was looking for was set to eclipselink.persistencexml=META-INF/persistence.xml, which is where I had it in my persistence bundle and what was in my Manifest.mf for my Meta-Persistence header. But only after I put the persistence.xml also into the src\META-INF directory it found it and finally worked.



Previous Topic:Gemini, JMS, Spring, Weblogic
Next Topic:Configuring platform properties in integation tests
Goto Forum:
  


Current Time: Thu Apr 18 07:04:52 GMT 2024

Powered by FUDForum. Page generated in 0.02024 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top