[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 11:32:40 EST 2009


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

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

nikita, I did see but that is based on a copy of the cglib source and a manual changing of its source code.  I don't want to get into this because it makes us have to manage changes in the upstream source code in the (seemingly unlikely) event that there is another 2.1 release.  This is just a simple repackaging to avoid name conflicts, and as such I'd like to keep it as simple as possible.  If jarjar or shade will handle this properly, that is much the preferred route.

> 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
>            Assignee: Steve Ebersole
>             Fix For: 3.3.x, 3.5
>
>         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