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

Reply via email to