Yes, I got it.
I modified my code, so I create a session attribute and init that one, and I 
test before doing the repo.login() to see if I don't have an active session. 
I cannot use session.logout() as this also comes with its bugs :(. Apparently 
inside a JTA transaction the session will attach to it and be closed when the 
JTA transaction performs the commit.

So, I modified my code to have only one session. I can upload the message, but 
when it downloads it after that it says:

Caused by: java.lang.IllegalStateException: Inactive logical session handle 
called
        at 
org.apache.jackrabbit.jca.JCAManagedConnection.getSession(JCAManagedConnection.java:227)
        at 
org.apache.jackrabbit.jca.JCASessionHandle.getSession(JCASessionHandle.java:84)
        at 
org.apache.jackrabbit.jca.JCASessionHandle.getRootNode(JCASessionHandle.java:135)


-----Original Message-----
From: KÖLL Claus [mailto:[EMAIL PROTECTED] 
Sent: Monday, July 02, 2007 12:42 PM
To: [email protected]
Subject: AW: JBoss JTA transaction timeout

> Yes, I may open a new session inside the same transaction (I'm quite new to 
> Seam so I don't know in detail how it handles everything, but almost sure I 
> open more 
> than one transaction). 

... you can not open more than 1 session inside a container transaction ..

> Both the upload & download methods get a new session when they start doing 
> their job.
ok thats the normal way ..

public void testme() { <-- is a EJB SesssionBean Method
//ContainerTransaction begnis ...
Session sess = getRepository().login(credentials, workspaceName);
sess.getRootNode().addNode(....);
...
sess.save();
sess.logout();
}
//Container Transaction ends
if you now open a second session inside this transaction you will get a timeout 
eception ...

BR,
claus

-----Original Message-----
From: KÖLL Claus [mailto:[EMAIL PROTECTED] 
Sent: Monday, July 02, 2007 11:58 AM
To: [email protected]
Subject: AW: JBoss JTA transaction timeout

the only thing you must looking for not to open 2 sessions in 1 transaction !
maybe you are opening a adminsession in the accessmanager ?
even if you do only reading with the second session you will get a timeout 
exception !

the locking strategy is at the moment designed not to allow 2 sessions in one 
transaction !

BR,
claus

Reply via email to