On 18/11/2009 01:10, Imad Hachem wrote:

Dear Pid,

After one Tomcat Cluster node shutdown, what kind of variables  (that might 
come as null) I should rely on to know that my node has been stoped.

Why do they need to be null?

You're *still* not explaining why you think they should be null - simply asserting that they are null does not explain why this should be the case.

Please provide an explanation as to why the variable that you have set to a known value, should suddenly stop being that value and be unset, or be null.

What is causing it to change?



When you manually shutdown a particular node, you are setting the MANUAL_STOP attribute to "true" or "1" or some known value.

You only need to know this in the HttpSessionListener so you can determine whether the sessions are expiring because the node is stopping.

If the value is null, then the node is not being manually stopped, and so in all probability the sessions are expiring naturally.


>>> I need to know if my sessionDestroyed has been called from a
>>> session.invalidate Event OR session timeout OR Tomcat Cluster node
>>> shutdown.

If you control the application, then you can always ensure that the session.invalidate() method is accompanied by your custom log out code.

The other two conditions should be covered by the code described previously.


p


Best Regards,
Imad Hachem

System Engineer




From: p...@pidster.com
Date: Wed, 18 Nov 2009 00:19:07 +0000
Subject: Re: MISC; Tomcat-5.5.12; After one Tomcat Cluster node shutdown, 
sessionDestroyed been called before contextDestroyed
To: users@tomcat.apache.org

On 18 Nov 2009, at 00:07, Imad Hachem<hachem_i...@hotmail.com>  wrote:
Dear Pid,
find below my explanation:

1. Manually set an attribute (e.g. MANUAL_STOP=1) in application scope
2. Manually shutdown Tomcat instance.
3. Tomcat expires all sessions
4. Tomcat fires HttpSessionListener.sessionDestroyed for each session
5. custom code checks for, and finds, attribute (e.g. MANUAL_STOP=1)
if(MANUAL_STOP == null){ // Tomcat Cluster Node Shutdown

//don't do anything

}

else{ // case of session.invalidate or session timeout

6. custom code does logout per session
}

8. Tomcat fires ServletContextListener.contextDestroyed for each app

But in fact, the variable MANUAL_STOP saved to the application scope
is always coming as 1, even after tomcat cluster node shutdown which
expected to come as null.

Yes. The value 1 is expected - you're not explaining why you think it
should be null.

p





I need to know if my sessionDestroyed has been called from a
session.invalidate Event OR session timeout OR Tomcat Cluster node
shutdown.



Best Regards,
Imad Hachem

System Engineer




Date: Tue, 17 Nov 2009 16:23:16 +0000
From: p...@pidster.com
To: users@tomcat.apache.org
CC: ihac...@lb.path-solutions.com
Subject: Re: MISC; Tomcat-5.5.12; After one Tomcat Cluster node
shutdown, sessionDestroyed been called before contextDestroyed

On 17/11/2009 16:11, Imad Hachem wrote:

Dear Pid,

I am expecting them to come as null to know that the Tomcat Node
(or context) has been shutdown.

That makes no sense. These are the logical steps.

1. Manually set an attribute (e.g. MANUAL_STOP=1) in application
scope
2. Manually shutdown Tomcat instance.
3. Tomcat expires all sessions
4. Tomcat fires HttpSessionListener.sessionDestroyed for each session
5. custom code checks for, and finds, attribute (e.g. MANUAL_STOP=1)
6. custom code does logout per session
8. Tomcat fires ServletContextListener.contextDestroyed for each app


Perhaps you can explain, clearly, what you expect to happen and
where it
happens?


p


Best Regards,
Imad Hachem

System Engineer




Date: Tue, 17 Nov 2009 16:08:37 +0000
From: p...@pidster.com
To: users@tomcat.apache.org
CC: ihac...@lb.path-solutions.com
Subject: Re: MISC; Tomcat-5.5.12; After one Tomcat Cluster node
shutdown, sessionDestroyed been called before contextDestroyed

On 17/11/2009 15:57, Imad Hachem wrote:

Dear Pid,

I have tried to set application context variables, but it didn't
worked, since I m expecting to get these variables as null
values after node shutdown, but in fact they are coming as not
null.

If you set them as "not null" and they are "not null" why are you
surprised?

Why do you expect them to be null?


p


Best Regards,
Imad Hachem

System Engineer




Date: Tue, 17 Nov 2009 15:38:22 +0000
From: p...@pidster.com
To: users@tomcat.apache.org
Subject: Re: MISC; Tomcat-5.5.12; After one Tomcat Cluster node
shutdown, sessionDestroyed been called before contextDestroyed

On 17/11/2009 14:40, Ronald Klop wrote:
Hi Imad,

Ronald. (The Ronald of the link mentioned by Pid.)

Did the code supplied therein, work for you Ronald?


@Imad

The Servlet Spec (and therefore Tomcat) doesn't differentiate
between
causes of session expiry.

The code requires you to set a value in the application scope,
then the
HttpSessionListener sessionDestroyed method checks for that
value.

If the value is present, you initiated shutdown. If it is not,
then
it's probably a session expiry and you run your logout code.

Did you actually set such an attribute?


p


Op dinsdag, 17 november 2009 14:36 schreef Imad Hachem
<hachem_i...@hotmail.com>:




Dear Pid,



I am running a Logout Process at each sessionDestroy.



After applying the Cluster configuration, I don't want to
Logout my
Users (or run this Logout Process) after any Tomcat Cluster
node
shutdown, since the Session has been replicated to the other
Node
Cluster.





Best Regards,
Imad Hachem
System Engineer



From: p...@pidster.com
Date: Tue, 17 Nov 2009 13:09:47 +0000
Subject: Re: MISC; Tomcat-5.5.12; After one Tomcat Cluster
node
shutdown, sessionDestroyed been called before contextDestroyed
To: users@tomcat.apache.org
On 17 Nov 2009, at 12:11, Imad
Hachem<hachem_i...@hotmail.com>
wrote:

Dear Pid,



I have tried that code and didn't helped, note that my
context&
session variables are not coming as null in order to rely
on to be
able to differenciate between Tomcat Node shutdown&
session.invalidate().
I'm sorry but I don't understand what you're saying here.
Tomcat&  the servlet api can't tell you the difference
between an app
shutdown and a session expiry without you writing code.
What did you try?
What was or wasn't null exactly?
p
Best Regards,
Imad Hachem

System Engineer




Date: Tue, 17 Nov 2009 11:41:20 +0000
From: p...@pidster.com
To: users@tomcat.apache.org
Subject: Re: MISC; Tomcat-5.5.12; After one Tomcat Cluster
node
shutdown, sessionDestroyed been called before
contextDestroyed

On 17/11/2009 11:31, Imad Hachem wrote:

Dear Pid,

Thanks for your reply.

But can you specify exactly which Servlets API method to
use?

The link I sent had some code in it, did you read it?

Note that Tomat-5.5.12 is deployed on Production
environment and
we are not facing major issues.

But you might be facing some security ones.

I will appreciate if you can adivse to which Tomcat
Stable version
we should Migrate taking in consideration that Tomcat
Cluster is
used in our environment as well.

The latest: Tomcat 5.5.28. Same app, many bugfixes. Your
version was
released September 2005, over 4 years ago (that's 28
internet
years).

It's not good practice to avoid upgrading for that long.


p








Best Regards,
Imad Hachem

System Engineer




Date: Tue, 17 Nov 2009 10:15:58 +0000
From: p...@pidster.com
To: users@tomcat.apache.org
Subject: Re: MISC; Tomcat-5.5.12; After one Tomcat
Cluster node
shutdown, sessionDestroyed been called before
contextDestroyed

On 17/11/2009 04:14, Imad Hachem wrote:

Dear all,

I am using Tomcat-5.5.12 as Clustering nodes, and after
one node
shutdown sessionDestroyed is called before
contextDestroyed.

Are you still using 5.5.12? Hasn't anyone advised you to
upgrade
to a
newer version yet?

I think it's perfectly reasonably to call
sessionDestroyed()
before
contextDestroyed().

How can I know if sessionDestroyed is called from
session.invalidate()
from the real expiration of the session or shutdown of
one
cluster node?

You can't know this directly from the Servlet API methods.

Note that on sessionDestroyed event, I am using a Logout
behavior to
logout my users from the DATABASE.

I have tried to set a KEY on the context (or
application scope)
to check
on it during the sessionDestroyed event, but it seems the
context is
destroyed after the session destroy event.

This comes up not infrequently on the list, the archives
have more
information:


http://old.nabble.com/Re%3A-sessionListener.sessionDestroyed-is-called-on-shutdown-of-a-node-in-the-cluster-p16746969.html


Is there any event listener that I can use before the
sessionDestroyed to differentiate if one cluster node
has been
shutdown or my session has been expired?

Or is how to configure the contextDestroy to be called
before
the sessions destroy?

No, contextDestroyed() means that the web application
itself has
been
stopped, this is mandated by the Servlet Spec.


p


Thanks in advance for your help.

Best Regards,
Imad Hachem

System Engineer



_________________________________________________________________


Windows Live: Make it easier for your friends to see
what yo
u锟斤拷re up to on Facebook.

http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_2:092009



---
---
---
---
---------------------------------------------------------
To unsubscribe, e-mail: users-
unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


_________________________________________________________________


Keep your friends updated锟斤拷even when
you锟斤拷re not
signed in.

http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_5:092010




---
---
---------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-
h...@tomcat.apache.org


_________________________________________________________________


Windows Live: Make it easier for your friends to see what
you锟斤拷
re up to on Facebook.

http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_2:092009

---
---
---
------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
_________________________________________________________________


Keep your friends updated--even when you're not signed in.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_5:092010









---
---
---------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


_________________________________________________________________
Windows Live: Make it easier for your friends to see what yo
u're up to on Facebook.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_2:092009


---
------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


_________________________________________________________________
Windows Live Hotmail: Your friends can get your Facebook updates,
right from Hotmail(R).
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_4:092009


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


_________________________________________________________________
Windows Live: Keep your friends up to date with what you do online.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_1:092010

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

                                        
_________________________________________________________________
Windows Live: Keep your friends up to date with what you do online.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_1:092010


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to