tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remy Maucherat <>
Subject Re: Tomcat Session Replication & Portlets
Date Sat, 09 Jul 2005 15:30:04 GMT
Peter Rossbach wrote:
> Hey Eric,
> which tomcat release you use?  I have change a lot inside the current 
> 5.5 cvs head and hope your
> work is compatible with this changes. I thing your changes is not easy 
> and you must reflect that other
> Valves and Listener must also reflect your API deprecated CrossContext 
> feature. Why the Portlet API
> need CrossContext?

Because the portlet specification is stupid, and is 100% based on cross 
context, which is *the* non portable feature.

> Implementatation help: Your must rewrote the complete ReplicationValve 
> and JvmRouteBinderValve
> Look inside ReplicationValve.invoke and get from Container the Cluster
> CatalinaCluster cluster = (CatalinaCluster) getContainer.getCluster();
> Currently you can get the complete list of the registerted application 
> managers....
> It is not easy to detected changes coordinate the startup and restart 
> manager phase.. ( Look inside DeltaManager :-)
> I thing you must coordinate your replication with other threads ... ( 
> very bad sync blocks....).

Since he's using portlets, he'll have to use emptySessionPath, which 
solves problems related with session ID handling.

I though there would be no big problem with keeping a list (thread 
local) of sessions which have been accessed during a request, and have 
the replication valve take care of them. Either that or the request 
dispatcher will have to integrate the functionality of the replication 
valve (to some extent; I suppose this means adding a callback or 
something on Cluster).

It's definitely not a piece of code to start on if someone doesn't know 
Tomcat well, that's for sure. Given the initial email, my advice is to 
forget about it for now and be a bit patient (or I'll just say happy 
hacking, but it's very unlikely I'll integrate any submitted changes).


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message