[ 
http://issues.apache.org/jira/browse/GERONIMO-2163?page=comments#action_12429258
 ] 
            
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 setUpServers.sh

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]
</Location>
"
* create a servers file with the following content:
ALL  127.0.0.1:8080|127.0.0.1:8081

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"));
                service.addConnector(server);
                service.start();

Start Geronimo servers:
* Start default server:
java -Dnode.name=red -jar bin/server.jar
* Start node2 server:
java -Dorg.apache.geronimo.server.name=node2 -Dnode.name=green bin/server.jar

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

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

> WADI Integration for Jetty
> --------------------------
>
>                 Key: GERONIMO-2163
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2163
>             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; 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