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).
Rémy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]