[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3504) Hibernate 3.3.1GA issue when using CGLIB

Steve Ebersole (JIRA) noreply at atlassian.com
Fri Mar 6 10:37:40 EST 2009


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32586#action_32586 ] 

Steve Ebersole commented on HHH-3504:
-------------------------------------

Unfortunately we did not have much of a choice when we made this change.  We had been waiting on cglib 2.2 release for well over a year at that point and had gotten no response from our multiple attempts to contact them.  And I am talking about over a year of no releases at all, not betas, crs, nada.

I did not realize about the strings inside Enhancer.  I thought the shade plugin was supposed to handle FQN of classes as strings.  Guess not :(

At this point, considering cglib 2.2 is out its probably best to go ahead and use it for Hibernate 3.5 instead of the repack.  For 3.3 we will need to continue to use the repack unless cglib 2.1 and 2.2 are bytecode compatible (which they are not to my understanding).  I'll investigate whether that has been addresses in the shade plugn yet, or what other options might be.

Also, there is a project we use to produce the shaded repack: http://anonsvn.jboss.org/repos/hibernate/cglib/

So, whose gonna volunteer to see what it takes to get cglib 2.2 working with hibernate?

> Hibernate 3.3.1GA issue when using CGLIB
> ----------------------------------------
>
>                 Key: HHH-3504
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3504
>             Project: Hibernate Core
>          Issue Type: Bug
>    Affects Versions: 3.3.1
>         Environment: Database : hsqldb/Sybase
>            Reporter: Montagnon Cyril
>             Fix For: 3.3.x
>
>         Attachments: hibernate-cglib-repack-fixed.zip, hibernate-cglib-repack-nodep-2.1_3-SNAPSHOT.jar
>
>
> When forcing hibernate to use CGLIB (by the way javassist is still slower than CGLib), I get the following exception (at the end of the post)
> It seems that the repackaging of the CGLIB project (hibernate-cglib-repack) doesn't behave as expected :
> Shouldn't it look up for the org.hibernate.repackage.cglib.proxy.Callback class instead of the net.sf.cglib.proxy.Callback class.
> java.lang.NoClassDefFoundError: net.sf.cglib.proxy.Callback
> 	at org.hibernate.repackage.cglib.proxy.Enhancer.class$(Enhancer.java:68)
> 	at org.hibernate.repackage.cglib.proxy.Enhancer.getCallbacksSetter(Enhancer.java:627)
> 	at org.hibernate.repackage.cglib.proxy.Enhancer.setCallbacksHelper(Enhancer.java:615)
> 	at org.hibernate.repackage.cglib.proxy.Enhancer.setThreadCallbacks(Enhancer.java:609)
> 	at org.hibernate.repackage.cglib.proxy.Enhancer.registerCallbacks(Enhancer.java:578)
> 	at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyInstance(CGLIBLazyInitializer.java:133)
> 	at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxy(CGLIBLazyInitializer.java:116)
> 	at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.getProxy(CGLIBProxyFactory.java:72)
> 	at org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:402)
> 	at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3483)
> 	at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:298)
> 	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:219)
> 	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:126)
> 	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
> 	at org.hibernate.impl.SessionImpl.load(SessionImpl.java:822)
> 	at org.hibernate.impl.SessionImpl.load(SessionImpl.java:815)
> 	at org.springframework.orm.hibernate3.HibernateTemplate$3.doInHibernate(HibernateTemplate.java:566)
> 	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
> 	at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
> 	at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:560)
> 	at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:554)
> 	at north.stardust2.core.test.unit.dao.listed.IndexCompositionDaoTest.findIndexCompositionByListedIndexAt(IndexCompositionDaoTest.java:36)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
> 	at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
> 	at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
> 	at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
> 	at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
> 	at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
> 	at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
> 	at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
> 	at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> 	at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> 	at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> 	at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> 	at org.junit.internal.runners.CompositeRunner.runChildren(CompositeRunner.java:33)
> 	at org.junit.runners.Suite.access$000(Suite.java:26)
> 	at org.junit.runners.Suite$1.run(Suite.java:93)
> 	at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> 	at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> 	at org.junit.runners.Suite.run(Suite.java:91)
> 	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

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

        



More information about the hibernate-issues mailing list