Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Gemini » Two EMFBuilder Service instances for one PU?
Two EMFBuilder Service instances for one PU? [message #761385] Tue, 06 December 2011 11:51 Go to next message
Gunnar Wagenknecht is currently offline Gunnar WagenknechtFriend
Messages: 486
Registered: July 2009
Location: San Francisco ✈ Germany
Senior Member

Hi,

I noticed that I get two EMFBuilder service instances when running my
JUnit tests. Which one should I use?

More than ONE EMF found for PU eclipselink.jpa.multitenancy.tests.

{org.osgi.service.jpa.EntityManagerFactoryBuilder}={osgi.managed.bundles=eclipselink.jpa.multitenancy.tests_1.0.0.qualifier,
osgi.unit.version=1.0.0.qualifier,
osgi.unit.name=eclipselink.jpa.multitenancy.tests,
osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider,
service.id=100}
{org.osgi.service.jpa.EntityManagerFactoryBuilder}={osgi.managed.bundles=eclipselink.jpa.multitenancy.tests_1.0.0.qualifier,
osgi.unit.version=1.0.0.qualifier,
osgi.unit.name=eclipselink.jpa.multitenancy.tests,
osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider,
service.id=105}


osgi> ss gemini

Framework is launched.

id State Bundle
203 ACTIVE org.eclipse.gemini.dbaccess.derby_1.1.0.qualifier
204 RESOLVED org.eclipse.gemini.dbaccess.samples_1.0.0.RELEASE
205 <<LAZY>> org.eclipse.gemini.dbaccess.test_1.1.0.qualifier
206 ACTIVE org.eclipse.gemini.dbaccess.util_1.1.0.qualifier
207 ACTIVE org.eclipse.gemini.jpa_1.0.0.qualifier
208 RESOLVED org.eclipse.gemini.jpa.samples_1.0.0.qualifier

osgi>

-Gunnar

--
Gunnar Wagenknecht
gunnar@wagenknecht.org
http://wagenknecht.org/
Re: Two EMFBuilder Service instances for one PU? [message #761404 is a reply to message #761385] Tue, 06 December 2011 12:35 Go to previous messageGo to next message
Gunnar Wagenknecht is currently offline Gunnar WagenknechtFriend
Messages: 486
Registered: July 2009
Location: San Francisco ✈ Germany
Senior Member

Am 06.12.2011 12:51, schrieb Gunnar Wagenknecht:
> I noticed that I get two EMFBuilder service instances when running my
> JUnit tests. Which one should I use?

So, according to the debug log one was registered during startup when
existing bundles are analyzed. The second one was registered when the
extender received a STARTING event for that particular bundle. According
to the log, this should unregister the previous one.

It seems that the unregister had no effect. I wonder if it's really
necessary to re-register the service again. Log attached.


-Gunnar

--
Gunnar Wagenknecht
gunnar@wagenknecht.org
http://wagenknecht.org/

EclipseLinkProvider starting...
GeminiServicesUtil registering provider service for org.eclipse.persistence.jpa.PersistenceProvider
GeminiServicesUtil successfully registered provider service for org.eclipse.persistence.jpa.PersistenceProvider
GeminiExtender listening
GeminiExtender looking at existing bundles:
...
eclipselink.jpa.multitenancy.tests_1.0.0.qualifier [14]
...
GeminiExtender tryAssigningPersistenceUnitsInBundle: bundle=eclipselink.jpa.multitenancy.tests id=14 state=STARTING
Looking for persistence descriptors in bundle eclipselink.jpa.multitenancy.tests
Found persistence descriptors: [Descriptor: META-INF/persistence.xml]
Parsing persistence descriptor META-INF/persistence.xml
getDescriptorStream - url=bundleentry://14.fwk19509473/META-INF/persistence.xml descPath=META-INF/persistence.xml jarPath=null
Finished parsing persistence descriptor bundleentry://14.fwk19509473/META-INF/persistence.xml
Found 1 persistence units
Parsed persistence descriptors: [
PUnit: eclipselink.jpa.multitenancy.tests
--- XML Data ---
provider: null
classes: [eclipselink.jpa.multitenancy.tests.MyEntity]
driverClassName: null
driverUrl: null
driverUser: null
driverPassword: null
--- Runtime Data ---
bundle: null
assignedProvider: null
descriptorInfo: Descriptor: META-INF/persistence.xml
uniquePackageNames: null
emfHandler: null
emfBuilderHandler: null
DSF tracker: null]
EclipseLinkProvider assignPersistenceUnitsInBundle: bundle=eclipselink.jpa.multitenancy.tests id=14 state=STARTING
GeminiExtender registerPersistenceUnitsInBundle: bundle=eclipselink.jpa.multitenancy.tests id=14 state=STARTING
GeminiExtender checking bundle compatibility of: bundle=eclipselink.jpa.multitenancy.tests id=14 state=STARTING
GeminiExtender provider compatible with bundle: bundle=eclipselink.jpa.multitenancy.tests id=14 state=STARTING
EclipseLinkProvider registerPersistenceUnits: [
PUnit: eclipselink.jpa.multitenancy.tests
--- XML Data ---
provider: null
classes: [eclipselink.jpa.multitenancy.tests.MyEntity]
driverClassName: null
driverUrl: null
driverUser: null
driverPassword: null
--- Runtime Data ---
bundle: eclipselink.jpa.multitenancy.tests
assignedProvider: org.eclipse.gemini.jpa.provider.EclipseLinkOSGiProvider@9ed5d6
descriptorInfo: Descriptor: META-INF/persistence.xml
uniquePackageNames: null
emfHandler: null
emfBuilderHandler: null
DSF tracker: null]
GeminiServicesUtil registerEMFServices for eclipselink.jpa.multitenancy.tests
GeminiServicesUtil JPA services props: {osgi.managed.bundles=eclipselink.jpa.multitenancy.tests_1.0.0.qualifier, osgi.unit.version=1.0.0.qualifier, osgi.unit.name=eclipselink.jpa.multitenancy.tests, osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider}
GeminiServicesUtil tryToregister EMF service for eclipselink.jpa.multitenancy.tests
Loading class javax.persistence.EntityManagerFactory from bundle org.eclipse.gemini.jpa_1.0.0.qualifier [207]
GeminiServicesUtil EMF proxy class array:
interface javax.persistence.EntityManagerFactory
Extender - bundle event, bundle=eclipselink.jpa.multitenancy.tests, event=STARTING
GeminiExtender registerPersistenceUnitsInBundle: bundle=eclipselink.jpa.multitenancy.tests id=14 state=STARTING
GeminiExtender checking bundle compatibility of: bundle=eclipselink.jpa.multitenancy.tests id=14 state=STARTING
GeminiExtender provider compatible with bundle: bundle=eclipselink.jpa.multitenancy.tests id=14 state=STARTING
EclipseLinkProvider registerPersistenceUnits: [
PUnit: eclipselink.jpa.multitenancy.tests
--- XML Data ---
provider: null
classes: [eclipselink.jpa.multitenancy.tests.MyEntity]
driverClassName: null
driverUrl: null
driverUser: null
driverPassword: null
--- Runtime Data ---
bundle: eclipselink.jpa.multitenancy.tests
assignedProvider: org.eclipse.gemini.jpa.provider.EclipseLinkOSGiProvider@9ed5d6
descriptorInfo: Descriptor: META-INF/persistence.xml
uniquePackageNames: null
emfHandler: null
emfBuilderHandler: null
DSF tracker: null]
WARNING: EclipseLinkProvider forcing unregister of persistence unit: eclipselink.jpa.multitenancy.tests
EclipseLinkProvider unregisterPersistenceUnits: [
PUnit: eclipselink.jpa.multitenancy.tests
--- XML Data ---
provider: null
classes: [eclipselink.jpa.multitenancy.tests.MyEntity]
driverClassName: null
driverUrl: null
driverUser: null
driverPassword: null
--- Runtime Data ---
bundle: eclipselink.jpa.multitenancy.tests
assignedProvider: org.eclipse.gemini.jpa.provider.EclipseLinkOSGiProvider@9ed5d6
descriptorInfo: Descriptor: META-INF/persistence.xml
uniquePackageNames: null
emfHandler: null
emfBuilderHandler: null
DSF tracker: null]
GeminiServicesUtil un-registerEMFService for eclipselink.jpa.multitenancy.tests
GeminiServicesUtil stopTrackingDataSourceFactory for p-unit eclipselink.jpa.multitenancy.tests
GeminiServicesUtil un-registerEMFBuilderService for eclipselink.jpa.multitenancy.tests
GeminiServicesUtil registerEMFServices for eclipselink.jpa.multitenancy.tests
GeminiServicesUtil JPA services props: {osgi.managed.bundles=eclipselink.jpa.multitenancy.tests_1.0.0.qualifier, osgi.unit.version=1.0.0.qualifier, osgi.unit.name=eclipselink.jpa.multitenancy.tests, osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider}
GeminiServicesUtil tryToregister EMF service for eclipselink.jpa.multitenancy.tests
Loading class javax.persistence.EntityManagerFactory from bundle org.eclipse.gemini.jpa_1.0.0.qualifier [207]
GeminiServicesUtil EMF proxy class array:
interface javax.persistence.EntityManagerFactory
GeminiServicesUtil created EMF proxy
GeminiServicesUtil No driver class specified so no factory service created
GeminiServicesUtil register EMFBuilder service for eclipselink.jpa.multitenancy.tests
Loading class org.osgi.service.jpa.EntityManagerFactoryBuilder from bundle org.eclipse.gemini.jpa_1.0.0.qualifier [207]
GeminiServicesUtil EMFBuilder proxied classes: [interface org.osgi.service.jpa.EntityManagerFactoryBuilder]
GeminiServicesUtil created EMFBuilder proxy
GeminiServicesUtil EMFBuilder service: {org.osgi.service.jpa.EntityManagerFactoryBuilder}={osgi.managed.bundles=eclipselink.jpa.multitenancy.tests_1.0.0.qualifier, osgi.unit.version=1.0.0.qualifier, osgi.unit.name=eclipselink.jpa.multitenancy.tests, osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider, service.id=100}
starting
Extender - bundle event, bundle=org.eclipse.gemini.dbaccess.derby, event=STARTING
Gemini DBAccess - Derby JDBC starting
Extender - bundle event, bundle=osgi.enterprise, event=LAZY_ACTIVATION
Extender - bundle event, bundle=osgi.enterprise, event=STARTING
Extender - bundle event, bundle=osgi.enterprise, event=STARTED
Extender - bundle event, bundle=org.eclipse.gemini.dbaccess.util, event=STARTING
Extender - bundle event, bundle=org.eclipse.gemini.dbaccess.util, event=STARTED
Extender - bundle event, bundle=org.eclipse.gemini.dbaccess.derby, event=STARTED
Extender - bundle event, bundle=eclipselink.jpa.multitenancy.tests, event=STARTED
GeminiServicesUtil created EMF proxy
GeminiServicesUtil No driver class specified so no factory service created
GeminiServicesUtil register EMFBuilder service for eclipselink.jpa.multitenancy.tests
Loading class org.osgi.service.jpa.EntityManagerFactoryBuilder from bundle org.eclipse.gemini.jpa_1.0.0.qualifier [207]
GeminiServicesUtil EMFBuilder proxied classes: [interface org.osgi.service.jpa.EntityManagerFactoryBuilder]
GeminiServicesUtil created EMFBuilder proxy
GeminiServicesUtil EMFBuilder service: {org.osgi.service.jpa.EntityManagerFactoryBuilder}={osgi.managed.bundles=eclipselink.jpa.multitenancy.tests_1.0.0.qualifier, osgi.unit.version=1.0.0.qualifier, osgi.unit.name=eclipselink.jpa.multitenancy.tests, osgi.unit.provider=org.eclipse.persistence.jpa.PersistenceProvider, service.id=105}
...
Extender - bundle event, bundle=org.eclipse.gemini.jpa, event=STARTED
Re: Two EMFBuilder Service instances for one PU? [message #762094 is a reply to message #761404] Wed, 07 December 2011 14:37 Go to previous messageGo to next message
Michael Keith is currently offline Michael KeithFriend
Messages: 243
Registered: July 2009
Senior Member
Hi Gunnar,

Would you be able to enter a bug for this? I'm not sure if this is really a Gemini JPA problem, but I would like to investigate and track. I also have some questions that I will ask in the bug.

Thanks,
-Mike
Re: Two EMFBuilder Service instances for one PU? [message #764550 is a reply to message #762094] Mon, 12 December 2011 12:15 Go to previous message
Gunnar Wagenknecht is currently offline Gunnar WagenknechtFriend
Messages: 486
Registered: July 2009
Location: San Francisco ✈ Germany
Senior Member

Hi Mike,

Am 07.12.2011 15:37, schrieb Mike Keith:
> Would you be able to enter a bug for this?

I've created bug 366040 to track this.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=366040

-Gunnar
--
Gunnar Wagenknecht
gunnar@wagenknecht.org
http://wagenknecht.org/
Previous Topic:Eclipse gemini integration with eclipse RCP
Next Topic:Using blueprint in PDE
Goto Forum:
  


Current Time: Thu Apr 25 14:29:42 GMT 2024

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

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

Back to the top