Hmm,

It is not true, that multiple session replications are processed of one request! Session are replicated only after response processing is finished, see class o.a.c.cluster.tcp.ReplicationValve. As you have multiple request at same session, you can have small inconsistency problems.

Regards
Peter


Am 17.01.2007 um 10:38 schrieb <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>:

Hi Peter,

Thanks for your answer. As far as I know the SimpleTcpReplicationManager has been implemented for Tomcat 4 an replicates the session when it changes. So everytime the session changes it would replicate it. Thus TC would replicate my session several times during the processing of a request which would not be appropriate since the session would hold the wrong information in case tomcat crashes during the processing of a request but already replicated the session several times. Thus it really looks like the only way to replicate the complete session is to implement a filter or valve.

Regards
Andy

-----Ursprüngliche Nachricht-----
Von: Peter Rossbach [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 17. Januar 2007 09:43
An: Tomcat Users List
Betreff: Re: AW: AW: Tomcat 5.5 Cluster: Session Replication before sending the response

Hi

you can give o.a.c.cluster.session.SimpleTcpReplicationManager a chance, but I don't know it works really.

Regards
Peter


Am 16.01.2007 um 15:57 schrieb <[EMAIL PROTECTED]>
<[EMAIL PROTECTED]>:

Hi Filip,

I understand that I will just change the session in a way the delta
manager will replicate everything.
But is there no other Manager I can use which just replicates the
complete session and not just the changed data (like the DeltaManager
does)?!

I couldn't find a Manager which replicates everything. Is there one?

Thanks in advance!

Andy


-----Ursprüngliche Nachricht-----
Von: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED]
Gesendet: Dienstag, 16. Januar 2007 15:35
An: Tomcat Users List
Betreff: Re: AW: Tomcat 5.5 Cluster: Session Replication before
sending the response

even with this method, you are not managing the sessions, you're just
making sure that everything gets replicated, so doing this, you are
not changing the session manager.
remember, the code below would be inserted into a filter or a valve

Filip

wrote:
Hi Filip,

Thanks for your answer. I also thought about this solution of just
setting all objects again at the end of the doGet method.
But if possible I would like to use a tomcat replication mechanism
since I do not want to "manage" session since I have a tomcat-
built-in session manager :)

Andy

-----Ursprüngliche Nachricht-----
Von: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 10. Januar 2007 16:52
An: Tomcat Users List
Betreff: Re: Tomcat 5.5 Cluster: Session Replication before sending
the response

to achieve what you want, although slower, you can create a filter,
and in that filter simply set all the attributes again

Enumeration e = session.getAttributeNames(); while ( e.hasNext() ) {
  String name = e.next();
  Object value = session.getAttribute(name);
  if ( value != null ) session.setAttribute(name,value); }

you get the point :)

Filip

wrote:

Hi everybody,

I have a Tomcat 5.5 cluster with 2 nodes on SLES8 and want to
replicate the complete session before the response is send.
According to the Tomcat Clustering documentation the example with
the DeltaManager does this since the ReplicationValve triggers the
replication after the request has been processed and before the
response is sent.

Unfortunately the DeltaManager only replicates the changed data.
Only changes made by using methods like setAttribute make changes
visible to the DeltaManager and changes made to the object (like
changing one field value noch setAttribute-call) do not.
Thus I would need to change the way these objects are handled in the
application. So I thought it would be the easiest way to just
replicate the complete session instead of changes only. Is this
possible?

JavaDoc of org.apache.catalina.session.StandardManager:
"Standard implementation of the Manager interface that provides
simple session persistence across restarts of this component (such
as when the entire server is shut down and restarted, or when a
particular web application is reloaded."

This sounds like the session is only replicated when the server ist
shutdown/restarted/app reloaded. It also doesn't specify what is
replicated - the complete session?

Any suggestions?

Thanks in advance
--Andy


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe,
e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe,
e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to