I debugged further to understand the problem and I've reached this

exception:



java.rmi.NoSuchObjectException: Could not activate; failed to recover

session (session has been probably removed by session-timeout)



I hope this brings someone a clue for what is happening, 'cause it sure

isn't bringing me one..

I'm applying the same reasoning I use for httpSession: The sessions are

replicated in both servers. When JB1 goes down, JB2 keeps a copy of the

session that was in use. When JB1 comes up again, it syncs with JB1 and get

(again) the session that was in use. When the user connects to JB1, the

session is reactivated.



As far as I can understand, this is what happens with my java client app: It

keeps calling the a ejb instance that is replicated in both servers. The sub

know there are JB1 and JB2 that provide that ejb method/instance. When JB1

goes down, the stub redirects to JB2. Eventually JB1 comes up and the stub

knows that by a piggibacked message retrived by JB2. Then it can call JB1

again (for instance, it JB2 goes down).



The difference I have here is that the client is a servlet, and not a java

app. But I guess ths same reasoning should apply...





Unless...

There is one other difference: The calling instances: With my java client, I

do calls when

  1- Both servers are up

  2- JB1 is down

  3- JB1 is up again

with the servlet, I'm doing the calls 1 and 3 (as I'm not using a front-end

balancer, I can't invoke the servlet when JB1 is down as my http requests

are send directly to JB1)

But I'm not sure if this makes a diference or not...







----- Original Message ----- 

From: "Joao Clemente" <[EMAIL PROTECTED]>

To: <[EMAIL PROTECTED]>

Sent: Sunday, July 13, 2003 8:21 PM

Subject: [JBoss-user] [Cluster test app] fails to recover ejb session?

Reply via email to