Hi all,

I am trying to migrate an application to Karaf 4.0.3 & am using Java8. I have tried a few permutations of persistence providers (hibernate, openjpa, & eclipselink). I got Hibernate to work, but ran into a number of problems (like not having all the collections in a @NamedEntityGraph loaded & this bug: https://hibernate.atlassian.net/browse/HHH-9270). Wanting to continue with JPA 2.1, I tried out eclipselink. One of the problems I had with eclipselink was the following:

2015-11-23 16:28:10,754 | INFO  | rint Extender: 3 | BlueprintContainerImpl     
      | 31 - org.apache.aries.blueprint.core - 1.4.5 | Bundle 
hearsay-dao-jpa/0.0.46.SNAPSHOT is waiting for namespace handlers 
[http://aries.apache.org/xmlns/transactions/v2.0.0]


I have transaction & jpa features installed, but the hearsay-dao-jpa bundle is never activated when I use a blueprint xml file to register the services. When I use the pax-cdi annotations (as in Christian's KarafTutorial example), the hearsay-dao-jpa bundle is activated, but throws an NPE on getEntityManager() despite using the PersistentContext annotation. I think this might be related to the Aries JPA 2.2.0 problem mentioned in another thread (Problem with JPA 2.2.0 in Karaf 4.0.2).

When I try openjpa/2.4.0 & JPA 2.0, the openjpa bundle is in a resolved state. When I try to start that bundle the following is thrown:

ERROR: Bundle org.apache.aries.jpa.container [55] EventDispatcher: Error during 
dispatch. (java.lang.NoClassDefFoundError: javax/transaction/Synchronization)

java.lang.NoClassDefFoundError: javax/transaction/Synchronization


However, the packages are available:

karaf@root()> exports | grep javax.transaction

javax.transaction.xa                                                            
                       | 0.0.0            | 0   | org.apache.felix.framework

javax.transaction.xa                                                            
                       | 1.1.0            | 122 | 
org.apache.geronimo.specs.geronimo-jta_1.1_spec

javax.transaction.xa                                                            
                       | 1.2.0            | 256 | javax.transaction-api

javax.transaction                                                               
                       | 0.0.0            | 0   | org.apache.felix.framework

javax.transaction                                                               
                       | 1.1.0            | 122 | 
org.apache.geronimo.specs.geronimo-jta_1.1_spec

javax.transaction                                                               
                       | 1.2.0            | 256 | javax.transaction-api


I also see the following in the log after messing with which transaction-api/persistence-api features I have installed:

Caused by: java.lang.NoClassDefFoundError: javax/transaction/SystemException

    at 
org.apache.openjpa.persistence.osgi.PersistenceActivator.start(PersistenceActivator.java:61)


Before reverting back to Karaf 3.0.5...is there anything else I can try? Suggestions?

Thanks,
Jason



Reply via email to