geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Jencks (JIRA)" <j...@apache.org>
Subject [jira] Commented: (GERONIMO-2491) Hibernate passes connections between servlets which we don't support
Date Thu, 16 Nov 2006 22:09:37 GMT
    [ http://issues.apache.org/jira/browse/GERONIMO-2491?page=comments#action_12450553 ] 
            
David Jencks commented on GERONIMO-2491:
----------------------------------------

I haven't been able to test that the problem is actually fixed, but I think the new behavior
described below is more correct in any case.

rev 475941 (trunk) and 475942 (sandbox/javaee5)

Use a single shared connector instance context to track connections as a servlet request goes
through all its include/dispatch/etc calls.  Switch to a new instance context for each ejb
call.  This should mean that connections can be passed around between servlets in a single
request.

> Hibernate passes connections between servlets which we don't support
> --------------------------------------------------------------------
>
>                 Key: GERONIMO-2491
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2491
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: connector
>    Affects Versions: 1.1.1, 1.2
>            Reporter: David Jencks
>         Assigned To: David Jencks
>             Fix For: 1.1.2, 1.2
>
>
> This is based on examination of roller running in geronimo-tomcat and is partly speculation.
 There's certainly  a problem.
> 1. request sets InstanceContext 1 in ConnectionTrackingCoordinator.
> 2. roller starts a persistence context (in hibernate jargon a session) in a servlet filter.
 No connection is opened yet
> 3. tiles dispatches to a jsp
> 4. dispatch sets InstanceContext 2 in CTC
> 5. jsp does something persistent causing hibernate to open a db connection.  This is
registered with IC 2.
> 6. jsp dispatch returns, so IC 1 is set in CTC
> 7. roller commits the persistence context in the servlet filter, which closes the connection.
 Closing the connection attempts to unregister from the current IC.  IC 1 doesn't know anything
about this connection..... we get an NPE.
> The solution isn't clear to me at the moment.  

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

        

Mime
View raw message