geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gianny Damour (JIRA)" <>
Subject [jira] Commented: (GERONIMO-2163) WADI Integration for Jetty
Date Sun, 20 Aug 2006 10:11:14 GMT
    [ ] 
Gianny Damour commented on GERONIMO-2163:

Here are a couple of instructions to test this patch:

Set-up two Geronimo server instances
* download setUpServers.tar.gz and copy it in m2-assemblies/geronimo-jetty-j2ee/target;
* "tar -xzf" it;
* execute

Install the WADI demo web-application:
* download wadi-webapp-2.0M2-SNAPSHOT.war;
* distribute it.

Configure Apache mod_rewrite:
* in your httpd.conf add the following lines (ensure that mod_proxy and mod_rewrite are loaded):
RewriteMap SERVERS rnd:/Users/gianny/wadi/httpd/conf/servers
<Location /wadi-webapp-2.0M2-SNAPSHOT>
    RewriteEngine On
    RewriteRule "(.*)" "http://${SERVERS:ALL}%{REQUEST_URI}" [P,L]
* create a servers file with the following content:

Start AMQ TCP broker (please use version 4.0.1) on port 61618
* this snippet shows how to do that:
 		BrokerService service = new BrokerService();
		TcpTransportFactory tcpTransportFactory = new TcpTransportFactory();
		TransportServer server = tcpTransportFactory.doBind("name", new URI("tcp://localhost:61618"));

Start Geronimo servers:
* Start default server:
java -jar bin/server.jar
* Start node2 server:
java bin/server.jar

Note that the system property are only used by the WADI demo web-application.

Request the following page multiple times to see load-balancing working:<Apache port>/wadi-webapp-2.0M2-SNAPSHOT/index.jsp

> WADI Integration for Jetty
> --------------------------
>                 Key: GERONIMO-2163
>                 URL:
>             Project: Geronimo
>          Issue Type: New Feature
>      Security Level: public(Regular issues) 
>          Components: Clustering
>            Reporter: Gianny Damour
>         Assigned To: Gianny Damour
>            Priority: Minor
>         Attachments: geronimo-wadi-integration-preview.patch, geronimo-wadi-integration-RTC.patch,
geronimo.patch, setUpServers.tar.gz, wadi-geronimo-integration-preview.patch, wadi.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;
> * 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:
For more information on JIRA, see:


View raw message