Hi JB, I'm not using blueprint in my application, the EntityManagerFactory that is created by Aries JPA is imported using the Felix Dependency Manger.
Regards, Bram 2013/6/10 Jean-Baptiste Onofré <[email protected]> > Hi Bram, > > do you have several blueprint bundles ? > > Regards > JB > > > On 06/10/2013 07:03 PM, Bram Pouwelse wrote: > >> Hi, >> >> I've sent the message below to the Aries list last week, but no response >> yet. I'm wondering if other Karaf users are having the same issue using >> the JPA feature in Karaf. >> >> >> >> I'm having some problems using Aries JPA (running on Karaf 2.3.1 and >> using OpenJPA 2.2.1) . >> >> The first problem is that the EntityManagerFactory is created and >> registered in the service registry even if the DataSource is not >> available, this causes a problem because other bundles start using the >> EntityManagerFactory based on it's availability. >> >> Is it possible to register the EntityManagerFactory only of the >> DataSource is available (I'm using JNDI). For now I've added a service >> dependency on the DataSource to bundles to make them aware of the fact >> that the EntityManagerFactory can't be used. >> >> >> The second problem I have is that when I restart the bundle that >> registers the DataSource I get an IllegalStateException [1] when using >> JPA. The only way to get JPA working again is restarting the JPA >> Container bundle. >> >> >> The solution for the first issue seems to work pretty well, but it would >> be really nice to be able to update the DataSource bundle without having >> to restart the JPA Container. >> >> Any idea's on how to overcome the IllegalStateException? >> >> Thanks! >> >> Bram >> >> [1]: Caused by: java.lang.**IllegalStateException: Invalid BundleContext. >> at >> org.apache.felix.framework.**BundleContextImpl.**checkValidity(** >> BundleContextImpl.java:514) >> at >> org.apache.felix.framework.**BundleContextImpl.**getServiceReferences(** >> BundleContextImpl.java:425) >> at >> org.apache.aries.jndi.**services.ServiceHelper.** >> findService(ServiceHelper.**java:375) >> at >> org.apache.aries.jndi.**services.ServiceHelper.access$** >> 500(ServiceHelper.java:66) >> at >> org.apache.aries.jndi.**services.ServiceHelper$**JNDIServiceDamper.call(* >> *ServiceHelper.java:180) >> at Proxyca2dc362_3bc7_421c_ba6d_**a2b9855d61d6.getConnection(**Unknown >> Source) >> at >> org.apache.aries.jpa.**container.unit.impl.**DelayedLookupDataSource.** >> getConnection(**DelayedLookupDataSource.java:**36) >> at >> org.apache.openjpa.lib.jdbc.**DelegatingDataSource.**getConnection(** >> DelegatingDataSource.java:110) >> > > -- > Jean-Baptiste Onofré > [email protected] > http://blog.nanthrax.net > Talend - http://www.talend.com >
