openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Curtis <curti...@gmail.com>
Subject Re: reflect.InvocationTargetException by VerifyError at ClassRedefiner.redefineClasses method
Date Mon, 30 Sep 2013 13:35:02 GMT
It appears that you need to enhance your Entities[1].

Thanks,
Rick

[1] http://openjpa.apache.org/entity-enhancement.html


On Sat, Sep 28, 2013 at 6:34 PM, Arata Yamamoto <artymt@gmail.com> wrote:

> Dear group,
>
> I just started to try using OpenEJB for testing my EJB beans. So, I'm
> pretty beginner with OpenEJB (and OpenJPA).
> I hit the next exception (what I cannot overcome) in my test using
> OpenEJB's ApplicationComposer:
> Exception stacktrace:
> Caused by: java.rmi.RemoteException: 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.transaction.EjbTransactionUtil.handleSystemException(EjbTransactionUtil.java:154)
>     ... 43 more
> 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)
>     at
>
> org.apache.openejb.persistence.JtaEntityManager.getMetamodel(JtaEntityManager.java:475)
>     at
>
> com.newmainsoftech.jecommerce.dao.impl.AbstractFacadeImpl.postConstruct(AbstractFacadeImpl.java:28)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:601)
>     at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>     at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$LifecycleInvocation.invoke(ReflectionInvocationContext.java:213)
>     at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>     at
>
> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:176)
>     at
>
> org.apache.openejb.monitoring.StatsInterceptor.PostConstruct(StatsInterceptor.java:104)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:601)
>     at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
>     at
>
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
>     at
>
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138)
>     at org.apache.openejb.BeanContext.newInstance(BeanContext.java:1478)
>     ... 42 more
> Caused by: java.lang.reflect.InvocationTargetException
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:601)
>     at org.apache.openjpa.enhance.*
> ClassRedefiner.redefineClasses(ClassRedefiner.java:85)*
>     ... 71 more
> Caused by: java.lang.VerifyError
>     at sun.instrument.InstrumentationImpl.retransformClasses0(Native
> Method)
>     at
>
> sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
>     ... 76 more
>
> Statement throwing exception in the test method:
> @Test
> public void test_create() {
>     final String testName = JUnitAssistAspect.getTestName();
>
>     final Category category = new Category();
>         category.setName( testName);
>
>     final CategoryFacade categoryFacade = getCategoryFacade();
>     categoryFacade.create( category); // <-- Exception is thrown at here!
>     ...
> }
>
> I traced and dumped the calls from ClassRedefiner.redefineClasses to
> reflect.Method.invoke:
> 16:27:24.078 [main] INFO
>
> c.n.j.d.i.AbstractCategoryFacadeImplTest$CreateEntityManagerDebugTraceAspect
> -
> Invocation start : org.apache.openjpa.enhance.*
> ClassRedefiner.redefineClasses*(
>
>
> conf(type:JDBCConfigurationImpl)=org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl@7a44ac1a
> ,
>     *classes(type:HashMap)={
>         class com.newmainsoftech.jecommerce.dao.entity.Product*=[B@9d8e7b
> *,
>         class com.newmainsoftech.jecommerce.dao.entity.OrderedProductPK*
> =[B@1f54525*,
>         class com.newmainsoftech.jecommerce.dao.entity.Supplier*=[B@18eb67b
> *,
>
>         class com.newmainsoftech.jecommerce.dao.entity.Customer*=[B@6e7953
> *,
>
>         class com.newmainsoftech.jecommerce.dao.entity.OrderedProduct*
> =[B@df77f7*,
>         class com.newmainsoftech.jecommerce.dao.entity.Category*=[B@13d164c
> *,
>
>         class com.newmainsoftech.jecommerce.dao.entity.CustomerOrder*
> =[B@1830452*,
>         class com.newmainsoftech.jecommerce.dao.entity.ContactBase*
> =[B@90daa2*
>         }*
>     ) @ ClassRedefiner.java:55
>
> 16:27:24.078 [main] INFO
> c.n.j.d.i.AbstractCategoryFacadeImplTest$RedefineClassesDebugTraceAspect -
> Invocation start : java.lang.reflect.Method.invoke(
>
> arg0(type:InstrumentationImpl)=sun.instrument.InstrumentationImpl@17b930d,
>
> arg1(type:Object[])=[org.apache.openjpa.enhance.ClassRedefiner$1@1f378ca,
> true]
>     ) @ ClassRedefiner.java:82
> 16:27:24.078 [main] INFO
> c.n.j.d.i.AbstractCategoryFacadeImplTest$RedefineClassesDebugTraceAspect -
> Invocation end : java.lang.reflect.Method.invoke(
>
> arg0(type:InstrumentationImpl)=sun.instrument.InstrumentationImpl@17b930d,
>
> arg1(type:Object[])=[org.apache.openjpa.enhance.ClassRedefiner$1@1f378ca,
> true]
>     ) @ ClassRedefiner.java:82
> Returned null
>
> 16:27:24.078 [main] INFO
> c.n.j.d.i.AbstractCategoryFacadeImplTest$RedefineClassesDebugTraceAspect -
> Invocation start : java.lang.reflect.*Method.invoke*(
>     *arg0*(type:InstrumentationImpl)=*sun.instrument.InstrumentationImpl*
> @17b930d,
>     *arg1*(type:Object[])=*[[Ljava.lang.Class;@17f2629]*
>     ) *@ ClassRedefiner.java:85*
>
> It's puzzling me why sun.instrument.InstrumentationImpl.retransformClasses
> method throws the VerifyError exception, since, from the above dump, it
> appeared to me that the array local field in the
> ClassRedefiner.redefineClasses method holds the array of the proper entity
> bean classes.
>
> Environment:
> OpenEJB ver 4.5.2
> OpenJPA ver 2.2.0 (as resolved openjpa-asm-shaded dependency from
> openejb-core artifact dependency)
> EJB 3
> JDK 1.7.0
> Windows box
>
> Can someone shed the guiding light?
> I appreciate any advises since I am pretty beginner of OpenEJB (and
> OpenJPA).
>
> Regards,
> Art
>



-- 
*Rick Curtis*

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