My guess is you stumbled upon a mismatch between the servlet and jsp
specifications: a container needs some way to decide when to replicate a
session to a cluster. In Orion and Weblogic this is done when
session.setAttribute() is called. This works fine for things like the
SessionServlet.

In jsp's with the <jsp:useBean ... scope="session"....> tag, setAttribute is
only called upon creation of the bean class. Modifications to the session
state are done through calls on the bean class. This doesn't trigger session
replication because the container doesn't know about the change.

Marcel

> Hi,
>
> I have the (J2EE Blueprint) PetStore application clustered on
> two Orion
> instances running on the same machine.
>
> When I connect through the LoadBalancer, I can see my session
> state get
> replicated across the two nodes. When I kill the primary
> node, the load
> balancer automatically connects me to the secondary node and takes me
> through the rest of the shopping cart experience, however any
> items I had in
> my cart (ie. Session state!) aren't there anymore.
>
> I know that for clustering to work, objects should be
> Serializable AND
> placed in the session/servlet context for it to be
> replicated.  So my *real*
> questions are:
>
> 1) I haven't dived into the PetStore code - but is this a
> design issue with
> the PetStore or do I need some configuration pointers?
>
> 2) Has ANYBODY got PetStore working properly in a Clustered
> environment
> where you can kill the primary server and continue shopping
> (with your
> existing cart) on the secondary node?
>
> My Environment:Win2K, JDK 1.3, PetStore 1.1.2, Orion 1.4.5
>
> NB: The SessionServlet example works FINE for me.  When the
> primary goes
> down, the secondary node picks up with the same counter
> number as before the
> failure.
>
> ______________________________________________________________
> ___________
> Get Your Private, Free E-mail from MSN Hotmail at
http://www.hotmail.com.



Reply via email to