the javaagent was broken (fixed on trunk) so i fear you need to
enhance classes in your build
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2013/9/18 Leonardo K. Shikida <[email protected]>:
> Hi Romain
>
> thanks
>
> I am running some code using tomEE embedded in a main() method, using
> eclipse.
>
> So I've added to the run configurations->java application->my class->VM
> arguments
>
> -javaagent:/home/myuser/tomee/lib/openejb-javaagent.jar
>
> As suggested in (I guess)
>
> http://webspherepersistence.blogspot.com.br/2009/02/openjpa-enhancement.html
>
> But I still get an error such as
>
> INFO: Creating subclass and redefining methods for "[class xyz]". This
> means that your application will be less efficient than it would if you ran
> the OpenJPA enhancer.
> 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
>
> Am I missing something here?
>
> Your posts below talks about some system properties, is it enough to just
> drop them into properties.xml for tomee 1.5.2?
>
> http://rmannibucau.wordpress.com/2012/07/26/tomee-and-openejb-jpa-deploy-time-enhancement/
>
> TIA
>
> Leo
>
>
>
>
>
> []
>
> Leo
>
>
> On Wed, Sep 18, 2013 at 1:36 AM, Romain Manni-Bucau
> <[email protected]>wrote:
>
>> Hi
>>
>> Note: In tomee on trunk if you list your classes in persistence-unit it is
>> automatically done if the persistence.xml is in meta-inf/persistence.xml
>> Le 18 sept. 2013 04:40, "Leonardo K. Shikida" <[email protected]> a écrit
>> :
>>
>> > 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 <[email protected]>
>> > 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