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]

Reply via email to