So just answering myself (openJPA list brought the solution)

It seems that if I use IBM JVM (J9) in both windows and linux, it works.

If I use oracle's, then I get the error.

My persistence.xml does not have

 <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>

And I get the warning

WARNING: Creating subclass for "[...]".
This means that your application will be
less efficient and will consume more memory
than it would if you ran the OpenJPA enhancer.

Additionally, lazy loading will not be
available for one-to-one and many-to-one
persistent attributes in types using field
access; they will be loaded eagerly instead.

And this procedure is not recommended as stated at
http://openjpa.apache.org/entity-enhancement.html

"The use of OpenJPA's subclassing support is not recommended, and is
disabled by default in OpenJPA 2.0 and beyond."

TIA


Leo



[]

Leo


On Tue, Sep 17, 2013 at 1:14 PM, Leonardo K. Shikida <shik...@gmail.com>
wrote:
>
> Hi
>
> I have an tomee 1.5.2 + that runs perfectly on linux, but when I try to
run from windows, it gives me the following error message (see stacktrace)
>
> My doubts are
>
> - what does it mean :-)
> - why only in windows
> - is there any way to deal with this?
>
> My feeling it that it's somehow related to the OpenJPA enhancement
process, but I really don't have a clue here.
>
> TIA
>
> Leo
>
> Exception in thread "main" javax.ejb.EJBException: The bean encountered a
non-application exception; nested exception is:
>     <openjpa-2.2.0-r422266:1244990 fatal general error>
org.apache.openjpa.persistence.PersistenceException: null
>     at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:363)
>     at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:283)
>     at (...)    at
> (...)
> Caused by: <openjpa-2.2.0-r422266:1244990 fatal general error>
org.apache.openjpa.persistence.PersistenceException: null
>     at
org.apache.openjpa.enhance.ClassRedefiner.redefineClasses(ClassRedefiner.java:96)
>     at
org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:176)
>     at
org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:314)
>     at
org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:238)
>     at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:212)
>     at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
>     at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
>     at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
>     at
org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createEntityManager(ReloadableEntityManagerFactory.java:160)
>     at
org.apache.openejb.persistence.JtaEntityManagerRegistry.getEntityManager(JtaEntityManagerRegistry.java:115)
>     at
org.apache.openejb.persistence.JtaEntityManager.getEntityManager(JtaEntityManager.java:80)
>  (...)
> Caused by: java.lang.VerifyError
>     at sun.instrument.InstrumentationImpl.retransformClasses0(Native
Method)
>     at
sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
>     ... 52 more
>
> []
>
> Leo

Reply via email to