Hello again,

>what is up with all of the '*' characters in your command line input?
Sorry, those were just garbage sneaked in at coping & pasting from editor
(on guest OS of virtual PC on remote PC) to browser while having wrote my
last e-mail. Hence, there was not such garbage at the actual command line.

>The other option would be to setup the build time enhancer and avoid this
headache all together.
Thank you for your advise.
Since I used the dynamic enhancing method at test because I am actually
developing the project of abstract EJB beans what can be extended and used
in the other project(s), I may try the build time enhancer by configuring
to do at the test class compilation. Anyway, I will try that option just
for inspecting this issue further.

I also have a little hunch of the cause.

I will keep digging a little by little (with your guide).

Thank you,
Art





On Thu, Oct 3, 2013 at 7:00 AM, Rick Curtis <curti...@gmail.com> wrote:

> Maybe this is a stupid question, but what is up with all of the '*'
> characters in your command line input?
>
> The other option would be to setup the build time enhancer and avoid this
> headache all together.
>
>
> On Wed, Oct 2, 2013 at 11:22 PM, Arata Yamamoto <art...@gmail.com> wrote:
>
> > Dear Rick,
> >
> > Thank you for your reply.
> >
> > I have the following log record regarding enhancing:
> > INFO: Creating subclass and redefining methods for "[class
> > com.newmainsoftech.jecommerce.dao.entity.OrderedProductPK, class
> > com.newmainsoftech.jecommerce.dao.entity.ContactBase, class
> > com.newmainsoftech.jecommerce.dao.entity.CustomerOrder, class
> > com.newmainsoftech.jecommerce.dao.entity.Product, class
> > com.newmainsoftech.jecommerce.dao.entity.Category, class
> > com.newmainsoftech.jecommerce.dao.entity.Customer, class
> > com.newmainsoftech.jecommerce.dao.entity.OrderedProduct, class
> > com.newmainsoftech.jecommerce.dao.entity.Supplier]". This means that your
> > application will be less efficient than it would if you ran the OpenJPA
> > enhancer.
> >
> > I attempted to specify the Java Agent of OpenEJB or/and OpenJPA in the
> > following dynamic manners, and got the same log record above regarding
> > enhancing entity classes and got the same result
> >
> >
> (ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:176)
> > log in the stacktrace):
> >
> >    - With OpenEJB agent:
> >
> > -------------------------------------------------------
> >  T E S T S
> > -------------------------------------------------------
> > Forking command line: cmd.exe /X /C "C:\Java\jdk1.7.0_21\jre\bin\java *
> > -javaagent:*D:\mvn_repo\org\apache\openejb\openejb-javaagent\4.5.2\*
> >
> >
> openejb-javaagent-4.5.2.jar*-javaagent:D:\mvn_repo\org\aspectj\aspectjweaver\1.7.3\aspectjweaver-1.7.3.jar
> > -jar
> >
> >
> D:\EclipseWorkspaces\NetBeansE-commerce\e_commerce_demo\e_commerce_ejb\target\surefire\surefirebooter4357830757705183064.jar
> >
> >
> D:\EclipseWorkspaces\NetBeansE-commerce\e_commerce_demo\e_commerce_ejb\target\surefire\surefire845547936850090051tmp
> >
> >
> D:\EclipseWorkspaces\NetBeansE-commerce\e_commerce_demo\e_commerce_ejb\target\surefire\surefire3588961403524465407tmp"
> >
> >    - With OpenJPA agent:
> >
> > -------------------------------------------------------
> >  T E S T S
> > -------------------------------------------------------
> > Forking command line: cmd.exe /X /C "C:\Java\jdk1.7.0_21\jre\bin\java *
> >
> -javaagent:*D:\mvn_repo\org\apache\openejb\patch\openjpa-asm-shaded\2.2.0\*
> >
> >
> openjpa-asm-shaded-2.2.0.jar*-javaagent:D:\mvn_repo\org\aspectj\aspectjweaver\1.7.3\aspectjweaver-1.7.3.jar
> > -jar
> >
> >
> D:\EclipseWorkspaces\NetBeansE-commerce\e_commerce_demo\e_commerce_ejb\target\surefire\surefirebooter7332055104354137715.jar
> >
> >
> D:\EclipseWorkspaces\NetBeansE-commerce\e_commerce_demo\e_commerce_ejb\target\surefire\surefire8510714806139240938tmp
> >
> >
> D:\EclipseWorkspaces\NetBeansE-commerce\e_commerce_demo\e_commerce_ejb\target\surefire\surefire7644070897687503479tmp"
> >
> >    - With OpenJPA agent + OpenEJB agent
> >
> > -------------------------------------------------------
> >  T E S T S
> > -------------------------------------------------------
> > Forking command line: cmd.exe /X /C "C:\Java\jdk1.7.0_21\jre\bin\java *
> >
> -javaagent:*D:\mvn_repo\org\apache\openejb\patch\openjpa-asm-shaded\2.2.0\*
> > openjpa-asm-shaded-2.2.0.jar* *-javaagent*
> > :D:\mvn_repo\org\apache\openejb\openejb-javaagent\4.5.2\*
> >
> >
> openejb-javaagent-4.5.2.jar*-javaagent:D:\mvn_repo\org\aspectj\aspectjweaver\1.7.3\aspectjweaver-1.7.3.jar
> > -jar
> >
> >
> D:\EclipseWorkspaces\NetBeansE-commerce\e_commerce_demo\e_commerce_ejb\target\surefire\surefirebooter5316621859494960948.jar
> >
> >
> D:\EclipseWorkspaces\NetBeansE-commerce\e_commerce_demo\e_commerce_ejb\target\surefire\surefire5778328340144466825tmp
> >
> >
> D:\EclipseWorkspaces\NetBeansE-commerce\e_commerce_demo\e_commerce_ejb\target\surefire\surefire2316888947938102575tmp"
> >
> > Additional note: asm-3.2.jar was included in test class path.
> >
> > Regards,
> > Art
> >
> >
> >
> >
> > On Mon, Sep 30, 2013 at 6:35 AM, Rick Curtis <curti...@gmail.com> wrote:
> >
> > > 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 <art...@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*
> > >
> >
>
>
>
> --
> *Rick Curtis*
>

Reply via email to