The moose likes Servlets and the fly likes A question about HttpSessionActivation Listener Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "A question about HttpSessionActivation Listener" Watch "A question about HttpSessionActivation Listener" New topic

A question about HttpSessionActivation Listener

Parthiban Malayandi
Ranch Hand

Joined: Apr 15, 2008
Posts: 70
Hi all,

I studied about HttpSessionActivation Listener and in order understand it fully I created a simple program . I studied that the listener will be invoked whenever session attribute is migrated from one JVM to another .

The following was what I did to understand HttpSessionActivationListener

Created two instances of Tomcat in a single box.(Actually two services)

Configured Apache Http Server to point the two instances (Load balancing and fail over)

Created a small web application and deployed in two servers

Whenever I stop once instance I'm getting a message "Session Will Passivated "(which is what I have in overridden sessionWillPassivate method)

but I'm not getting "Session Did Activated" message (overridden in sessionDidActivated method) .

Please clarify me why I'm not getting Activated method message .

Thanks in advance

Parthiban Malayandi
Ranch Hand

Joined: Apr 15, 2008
Posts: 70
This is what I did


JSP File

My Web.xml File

That is URL I used to configure Apache with Tomcat for Load balancing .

Please clarify me.
Aj Deschanel
Ranch Hand

Joined: Oct 20, 2009
Posts: 40
did you try this ?
mark web apps as distributable.

SCJP 1.6, SCWCD 1.5
Parthiban Malayandi
Ranch Hand

Joined: Apr 15, 2008
Posts: 70
Hi AJ,

Thanks for your reply.First of all sorry for the delayed response from my side. I tried as you said(Implementing Serializable interface in HttpSessionActivationListener class) and I'm getting "SessionDidActivated" message but not when I expected.

Here's the Scenario when I'm getting SessionDidActivated

When I stop Tomcat instance (say for example currently "Tomcat Instance 1" is serving the request) after hitting "SessionExample" Servlet (mapped as "/") as I said I'm getting "SessionWillPassivate " message . When I start the same Tomcat instance again I'm getting "SessionDidActivated" message.

What I Thought

After stopped the Tomcat instance I reloaded the same page expecting this time it will served by another Tomcat instance(say "Tomcat Instance 2" and I will get "SessionDidActivated" message since the session will be migrated.

As I expected the page is served by another Tomcat instance but the session is not migrated and I'm not getting "SessionDidActivated" in the new Tomcat instance.

I also created a new Servlet named as (Servlet3) and modified so that It contains button and when it clicked it will hit a new Servlet(Servlet 3) to test this instead of reloading the same page but it also doesn't help.

Modified Source codes

Modified Listener class

Added in web.xml


I'm trying this in a single physical machine with two tomcat instance configured with Apache Http Server .

Is anything I'm missing ? Will it work ?

Thanks for your patience for reading lengthy post .

Hebert Coelho
Ranch Hand

Joined: Jul 14, 2010
Posts: 754

I believe that when you shutdown your first Tomcat instance you are killing your session. When you refresh it is like you are re-sending it.

I think so because I used to work with a software that we got a user inside our session. And, when testing, if we shutdown the Tomcat we lost the insides of our session.

[] [Full WebApplication JSF EJB JPA JAAS with source code to download] One Table Per SubClass [Web/JSF]
I agree. Here's the link:
subject: A question about HttpSessionActivation Listener
It's not a secret anymore!