tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <Andy.Scherzin...@sdm.de>
Subject AW: AW: AW: AW: Tomcat 5.5 Cluster: Session Replication before sending the response
Date Thu, 18 Jan 2007 09:31:30 GMT
Hi Peter,

The ReplicationValve will intercept the request when the request is completed and before the
response is returned to the user. 

Copied from the JavaDoc for the SimpleTcpReplicationManager:
Title: Tomcat Session Replication for Tomcat 4.0
Description: A very simple straight forward implementation of session replication of servers
in a cluster.
This session replication is implemented "live". By live I mean, when a session attribute is
added into a session on Node A a message is broadcasted to other messages and setAttribute
is called on the replicated sessions.
A full description of this implementation can be found under Filip's Tomcat Page
Copyright: See apache license Company: www.filip.net (Tomcat Site is not available).

This sounds like it works just like the DeltaManager replicating the changes not the complete
session. My applikations works on the objects written to the session but does not call setAttribute
again and so neither the DeltaManager nor the SimpleTcpReplicationManager would replicate
these objects. Thus I am looking for a Manager which just replicates the complete session
(after processing the request) no matter what. To trigger the replication the ReplicationValve
is used but I am still searching for a *Manager which fits my needs described above.

Regards
Andy


-----Ursprüngliche Nachricht-----
Von: Peter Rossbach [mailto:pr@objektpark.de] 
Gesendet: Donnerstag, 18. Januar 2007 08:45
An: Tomcat Users List
Betreff: Re: AW: AW: AW: Tomcat 5.5 Cluster: Session Replication before sending the response

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 <Andy.Scherzinger@sdm.de>  
<Andy.Scherzinger@sdm.de>:

> 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:pr@objektpark.de]
> 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 <Andy.Scherzinger@sdm.de>
> <Andy.Scherzinger@sdm.de>:
>
>> 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:devlists@hanik.com]
>> 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:devlists@hanik.com]
>>> 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: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe,
>> e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org To  
> unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>


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


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


Mime
View raw message