You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Edgar Poce (JIRA)" <ji...@apache.org> on 2006/10/29 02:59:18 UTC

[jira] Commented: (JCR-593) JCASessionHandle fail when i invoke logout method

    [ http://issues.apache.org/jira/browse/JCR-593?page=comments#action_12445422 ] 
            
Edgar Poce commented on JCR-593:
--------------------------------

I think the jca project is not handling the close method  properly because there shouldn't be a bind to transaction configuration option. The jca project should bind the jcr session to the transaction only if a logout call was made inside a transaction.  WDYT?
I'll prepare a patch asap.

I don't think the proposed patch is a good fix. With the proposed patch if the client doesn't participate in a transaction when it tries to close the session the call will be ignored causing a session leak.

In the current revision the jcr session is bound to the transaction lifecycle *optionally*. If the jcr module closes the session you can set the option to false and it should work fine for you.

thanks


> JCASessionHandle fail when i invoke logout method
> -------------------------------------------------
>
>                 Key: JCR-593
>                 URL: http://issues.apache.org/jira/browse/JCR-593
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jca
>    Affects Versions: 1.0.1, 1.1
>            Reporter: Jorge Rodríguez Pedrianes
>
> I think that the "logout method" (in JCASessionHandle) isn't totally correct. I consider that we must check, before closing session, if this session is binded to a transaction. In this situation the session mustn't be closed: transaction will close it.
>     public void logout() {
>           if (!mc.getManagedConnectionFactory().getBindSessionToTrasaction().booleanValue()) {
>                mc.closeHandle(this);
>           }
>     }
> For example this is very important when we use spring, springmodules (jcr module) and jackrabbit because the springmodules library closes session when local transaction finishes. And if the session is closed by transaction a exception is throwed.
> Thanks

-- 
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