Hi Matteo, I just checked OpenJPA3 with JPA feature. The problem is about the javax.persistence version. Now, hibernate and eclipselink uses JPA 2.1 whereas OpenJPA uses JPA 2.2.
So, we can have a ClassCastException while trying to deal with both version in the same container. That's what happening by default on the provided example. I'm improving it. Anyway, I don't reproduce the issue. I guess that problem is that you don't use the correct JNDI name in persistence.xml. Regards JB On 05/01/2019 22:42, Matteo Rulli wrote: > I tried to put together a project (here > <https://github.com/mrulli/myjpaservice>: > https://github.com/mrulli/myjpaservice) > to test how OpenJPA 3 and Karaf 4.2.x play together but I get the > following error: > > javax.naming.NoInitialContextException: Need to specify class name in > environment or system property, or as an applet parameter, or in an > application resource file: java.naming.factory.initial > at > javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662) > ~[?:?] > at > javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) > ~[?:?] > at > javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:350) > ~[?:?] > at javax.naming.InitialContext.lookup(InitialContext.java:417) ~[?:?] > at > org.apache.openjpa.ee.RegistryManagedRuntime.getTransactionManager(RegistryManagedRuntime.java:63) > ~[?:?] > at > org.apache.openjpa.ee.AutomaticManagedRuntime.getTransactionManager(AutomaticManagedRuntime.java:171) > ~[?:?] > at > org.apache.openjpa.kernel.AbstractBrokerFactory.syncWithManagedTransaction(AbstractBrokerFactory.java:728) > ~[?:?] > at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:399) > ~[?:?] > at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:325) > ~[?:?] > at > org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:228) > ~[?:?] > at > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:212) > ~[?:?] > at > org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:154) > ~[?:?] > at > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:246) > ~[?:?] > at > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:162) > ~[?:?] > at > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:152) > ~[?:?] > at > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:58) > ~[?:?] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[?:?] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:?] > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?] > at > org.apache.aries.jpa.container.impl.AriesEntityManagerFactoryBuilder$2.invoke(AriesEntityManagerFactoryBuilder.java:395) > ~[?:?] > ... 58 more > > A similar project works fine with OpenJPA 2.4.1 and Karaf 4.1. > > I saw an example project > <https://github.com/apache/karaf/blob/master/examples/karaf-jpa-example/karaf-jpa-example-features/src/main/feature/feature.xml> > in > Karaf repo but the openjpa case seems unsupported/commented out. Is > openjpa 3 supported in Karaf 4.2? > > Thank you for your help, > > Matteo > > -- Jean-Baptiste Onofré jbono...@apache.org http://blog.nanthrax.net Talend - http://www.talend.com