[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2281) CLONE -Calling Session.connection() generates java.lang.IllegalArgumentException: interface org.hibernate.jdbc.ConnectionWrapper is not visible from class loader

Steve Ebersole (JIRA) noreply at atlassian.com
Mon Jun 4 16:13:04 EDT 2007


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_27134 ] 

Steve Ebersole commented on HHH-2281:
-------------------------------------

The "fix" is the deprecation of Session.connection() and scheduled removal in 4.0...

It will be replaced with a way to pass in to Hibernate some "work" you want to have access to the connection.  This still gives users access to the connection, but does not mess with Connection handling inside Hibernate.

> 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
>          Issue Type: Bug
>    Affects 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.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list