[jboss-jira] [JBoss JIRA] Created: (JBAOP-549) javassist.bytecode.DuplicateMemberException: for loadtime instrumentation of classes loaded by hibernate.

Bahata Mukhopadhyay (JIRA) jira-events at lists.jboss.org
Wed Mar 26 22:18:39 EDT 2008


javassist.bytecode.DuplicateMemberException: for loadtime instrumentation of classes loaded by hibernate.
---------------------------------------------------------------------------------------------------------

                 Key: JBAOP-549
                 URL: http://jira.jboss.com/jira/browse/JBAOP-549
             Project: JBoss AOP
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 2.0.0.GA, 2.1.0.GA
         Environment: Windows OS, JDK 5.x , hibernate as ORM 
            Reporter: Bahata Mukhopadhyay


Hi
I am getting the following exceptions , when trying to use loadtime instrumentation of my dao objects which are getting loaded using hibernate.
The exception occurs both in Habanero and Alegrias . I need to use Jboss Pojo cache in fron of hibermnate, not as second level cache.

Please help.

(Also note that , I was trying to use AOPC to do compile time instrumentation. It had no problem. But as we have FAT/SMART clients in our application,
and need to transfer serialized copies of the POJOs stored in cache, I was having a problem as the classes weaved with AOPC were having the class-interceptors as their field. So I was getting a Not-Serializable exception .  I wanted to check with load time instrumentation to avoid that problem)

javassist.bytecode.DuplicateMemberException: duplicate method: _getAdvisor in ft.oots.adt.dao.Alert$$EnhancerByCGLIB$$c2fd0509
	at javassist.bytecode.ClassFile.testExistingMethod(ClassFile.java:559)
	at javassist.bytecode.ClassFile.addMethod(ClassFile.java:539)
	at javassist.CtClassType.addMethod(CtClassType.java:1170)
	at org.jboss.aop.instrument.ClassicInstrumentor.addHelperClass(ClassicInstrumentor.java:187)
	at org.jboss.aop.instrument.ClassicInstrumentor.doSetupBasics(ClassicInstrumentor.java:157)
	at org.jboss.aop.instrument.Instrumentor.setupBasics(Instrumentor.java:887)
	at org.jboss.aop.instrument.Instrumentor.instrumentIntroductions(Instrumentor.java:366)
	at org.jboss.aop.instrument.Instrumentor.transform(Instrumentor.java:717)
	at org.jboss.aop.AspectManager.translate(AspectManager.java:909)
	at org.jboss.aop.AspectManager.transform(AspectManager.java:821)
	at org.jboss.aop.standalone.AOPTransformer.aspectTransform(AOPTransformer.java:88)
	at org.jboss.aop.standalone.AOPTransformer.transform(AOPTransformer.java:75)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384)
	at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219)
	at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
	at net.sf.cglib.proxy.Enhancer.createClass(Enhancer.java:317)
	at org.hibernate.proxy.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:126)
	at org.hibernate.proxy.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:41)
	at org.hibernate.tuple.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:161)
	at org.hibernate.tuple.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:131)
	at org.hibernate.tuple.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
	at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:64)
	at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:257)
	at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:412)
	at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:108)
	at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:216)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
	at ft.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:18)
	at ft.oots.controller.DatabaseController.getUser(DatabaseController.java:867)
	at ft.oots.controller.DatabaseController.verifyUser(DatabaseController.java:398)
	at ft.oots.controller.LoginController.verifyUser(LoginController.java:73)
	at ft.oots.controller.ServerController.validateUser(ServerController.java:204)
	at ft.oots.controller.LoginController.showLoginScreen(LoginController.java:58)
	at ft.oots.Application.showLoginScreen(Application.java:178)
	at ft.oots.Application.<init>(Application.java:120)
	at ft.oots.Application.main(Application.java:522)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list