tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Curtis <curti...@gmail.com>
Subject Re: org.apache.openjpa.persistence.PersistenceException: null
Date Wed, 18 Sep 2013 14:35:33 GMT
The waters are getting pretty muddy here.... but I'll try my best to clear
things up.

I'm not certain, but I suspect that when running on the IBM JVM, the
openjpa.DynamicEnhancementAgent was kicking in an your Entities were
getting enhanced automagically. For whatever reason it sounds like that
wasn't working on the Windows Oracle JVM and it was falling back to
subclassing. I know you mentioned that you don't have
openjpa.RuntimeUnenhancedClass set to supported, but the initial stack
trace that you posted indicates otherwise.

The root issue here is that your entities weren't being enhanced. It sounds
like now that you have the latest version of the tomEE agent hooked up,
everything is working? If you prefer to not go the agent path, you could
always use build time enhancement and not have to mess with any of this
business.

HTH,
Rick




On Wed, Sep 18, 2013 at 9:16 AM, Romain Manni-Bucau
<rmannibucau@gmail.com>wrote:

> 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 <shikida@gmail.com>:
> > 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
> > <rmannibucau@gmail.com>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" <shikida@gmail.com> 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 <
> shikida@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
> >> >
> >>
>



-- 
*Rick Curtis*

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message