You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "David Jencks (JIRA)" <ji...@apache.org> on 2006/11/16 23:09:37 UTC
[jira] Commented: (GERONIMO-2491) Hibernate passes connections
between servlets which we don't support
[ 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