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 >> > >>
