[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2281?page=c...
]
Fabio Da Soghe commented on HHH-2281:
-------------------------------------
Maybe it can help another confirm: I get this problem developing an Eclipse RCP plugin
(RCP 3.2, HIbernate 3.2.1.ga).
With Eclipse RCP there is a notable issue regarding classloading and Hibernate (as you
surely know), resolved by the Buddy Loading mechanism.
But the error described here seems different and I wasn't able to resolve it with any
Buddy Loading solution (I did several tries). Indeed I was confident I didn't need the
Buddy Loading, since I have only one RCP plugin with all classes into it (Hibernate
library and user client classes).
I got my application running without this exception by returning to Hibernate 3.2.0. No
need of Buddy Loading neither any other workaround: the plain plugin configuration works
well.
If needed, I can supply other details (source code, plugin and runtime configuration,
etc).
Best Regards,
Fabio
CLONE -Calling Session.connection() generates
java.lang.IllegalArgumentException: interface org.hibernate.jdbc.ConnectionWrapper is not
visible from class loader
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: HHH-2281
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2281
Project: Hibernate3
Type: Bug
Versions: 3.2.1
Environment: Hibernate checked out from trunk; revision 10717
Reporter: Sergey Polzunov
Calling Session.connection() always generates an exception. Here is the stacktrace I get
from the attached test case:
Exception in thread "main" java.lang.IllegalArgumentException: interface
org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353)
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
at
org.hibernate.jdbc.BorrowedConnectionProxy.generateProxy(BorrowedConnectionProxy.java:56)
at org.hibernate.jdbc.ConnectionManager.borrowConnection(ConnectionManager.java:163)
at org.hibernate.jdbc.JDBCContext.borrowConnection(JDBCContext.java:111)
at org.hibernate.impl.SessionImpl.connection(SessionImpl.java:359)
at TestSession.main(TestSession.java:16)
Changing the Connection.class.getClassLoader() to
BorrowedConnectionProxy.class.getClassLoader() on line 57 in the generateProxy() method
solves the problem. I am not very familiar with class loaders so I don't know if this
is likeley to cause other problems elsewhere. Removing the ConnectionWrapper.class from
the PROXY_INTERFACES array in the org.hibernate.jdbc.BorrowedConnectionProxy also solves
the problem, but I guess it was added for a reason.
--
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....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira