WADI Integration for Jetty
--------------------------

         Key: GERONIMO-2163
         URL: http://issues.apache.org/jira/browse/GERONIMO-2163
     Project: Geronimo
        Type: New Feature
    Security: public (Regular issues) 
  Components: Clustering  
    Reporter: Gianny Damour
 Assigned to: Gianny Damour 
    Priority: Minor
 Attachments: geronimo-wadi-integration-preview.patch

Email sent to the dev@ list.

Hi,

I have been working on a second integration attempt of WADI and I am posting 
here a high-level description of the current state of progress such that people 
can jump in.

At this stage, this is a Jetty only attempt and I do believe that the same 
approach can be applied for Tomcat. The current integration provides (very 
unreliable) HttpSession state migration. It only works for a single 
Web-application; more effort is required on the WADI side to support multiple 
Web-applications and this will not impact the integration piece of code. I 
(more or less successfully) tested the integration with mod_proxy + 
mod_proxy_balancer and mod_proxy + mod_rewrite in front of three Geronimo 
servers running the WADI demo web-app.

The code changes are:
* new module to capture some clustering contracts - geronimo-clustering: there 
Node, SessionManager, Session and ClusteredInvocation are defined.
* new module to provide a WADI implementation of the above - 
geronimo-clustering-wadi;
* new module to capture clustering builder contracts - 
geronimo-clustering-builder: there is only one interesting interface 
JettyClusteringBuilder. This later defines a couple of methods to augment the 
environment of a Web module being built and add clustering specific GBeans;
* new module to provide a WADI implementation of the above - 
Geronimo-clustering-builder-wadi; and
* geronimo-jetty-builder and geronimo-jetty are impacted to hook in clustering. 
These two modules depend on geronimo-clustering and geronimo-clustering-builder 
and not on WADI specific modules.

Two new modules are added:
* jetty-clustering- wadi: this module defines default WADI GBeans such as 
Dispatcher, ReplicationManagerFactory, BackingStrategyFactory et cetera; and
* jetty-clustering-builder-wadi: this module defines a builder to process Jetty 
DD and add various GBeans to the module being built.

I think that the implementation is flexible enough to plug in another 
clustering implementation such as Kache.

As a matter of fact, there are some severe reliability (e.g. locking issues) 
and integration (only one Web-app can be clustered) issues, which need to be 
fixed. So, this work is not yet ready to be RTC voted. Having said that, I have 
opened a JIRA such that people can have a look to the integration.

Thanks,
Gianny


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to