The method javassist.util.proxy.RuntimeSupport.find2methods has a synch block, called indirectly by ProxyFactory.createClass(). It is a strong bottleneck for frameworks as Hibernate which can use it several times in a large set of data proxied.
Donnchadh Ó DonnabháinDecember 20, 2012 at 10:36 PM
I've created .
Brett MeyerDecember 19, 2012 at 4:50 PM
, can you open a new ticket for that? A test case would be helpful. Thanks!
Donnchadh Ó DonnabháinDecember 18, 2012 at 5:45 PM
Updating the Javassist dependency to 3.17.1 breaks some of our code as in some cases bridge methods are now proxied instead of non-bridge methods. The result is that that lazy-initialisation is not triggered in some cases leading to {{NullPointerException}}s. As far as I can tell the relevant Javassist issue is https://issues.jboss.org/browse/JASSIST-162 . I'm not sure if there anything that can be done about this on the Hibernate side.
Brett MeyerDecember 12, 2012 at 5:06 PM
Sorry , Hibernate 3 is no longer maintained. But feel free to fork and cherry-pick in the fix in your own branch.
Gerald BroseDecember 12, 2012 at 10:50 AM
Is there any chance of having this merged back into a 3.6.x-Final bugfix release?
The method javassist.util.proxy.RuntimeSupport.find2methods has a synch block, called indirectly by ProxyFactory.createClass(). It is a strong bottleneck for frameworks as Hibernate which can use it several times in a large set of data proxied.
Javassist 3.17.0-GA fixes it. Hibernate should update its current javassist version: https://issues.jboss.org/browse/JASSIST-163