|
| Home > Apache Geronimo v3.0 > Documentation > Configuring and administering > Configuring and administering the Apache Geronimo Server > Clustering and farming > WADI Clustering |
Staring from Geronimo version 2.2, Web applications and Stateful SessionBeans can be clustered by WADI. To cluster these components, their Geronimo deployment descriptors are augmented with specific XML elements. These elements define various clustering parameters controlling how underlying WADI's components are wired and set up upon application deployment.
Install the following two configurations, shipped out-of-the-box with JEE5 assemblies, to support the clustering:
clusterNodeName=MyOwnNodeName
These configurations are automatically started when clustered applications are started. Hence, you should not start them explicitly.
Wadi can be configured to use unicast instead of multicast. To accomplish this configuration, multiple additions need to be added to the wadi-cluster module configuraton in config.xml.
To successfully use a unicast configuraton, use the disableMCastService attribute to disable the multicast broadcast service.
<gbean name="DefaultDispatcherHolder"> <attribute name="disableMCastService">true</attribute> </gbean>
You can specify the receiver port that the DispatcherHolder will listen on for session updates. If no port is specified, then the first available port starting at port 4000 will be chosen automatically.
<gbean name="DefaultDispatcherHolder"> <attribute name="disableMCastService">true</attribute> <attribute name="receiverPort">4003</attribute> </gbean>
For a static configuration, you need to define a list of static members. Each static member will have its own gbean configuration in config.xml in the wadi-cluster module. The DefaultDispatchHolder takes a reference to the first static member in the list.
<gbean name="DefaultDispatcherHolder"> <attribute name="disableMCastService">true</attribute> <attribute name="receiverPort">4003</attribute> <reference name="staticMember"> <pattern> <groupId>org.apache.geronimo.configs</groupId> <artifactId>wadi-clustering</artifactId> <version>2.2-SNAPSHOT</version> <type>car</type> <name>firstStaticMember</name> </pattern> </reference> </gbean>
You need to define each static member in the configuration in config.xml. A sample configuration is as follows:
<gbean name="org.apache.geronimo.configs/wadi-clustering/2.2-SNAPSHOT/car?ServiceModule=org.apache.geronimo.configs/wadi-clustering/2.2-SNAPSHOT/car,j2eeType=GBean,name=firstStaticMember" gbeanInfo="org.apache.geronimo.clustering.wadi.WadiStaticMember"> <attribute name="className">org.apache.catalina.tribes.membership.StaticMember</attribute> <attribute name="port">4001</attribute> <attribute name="securePort">-1</attribute> <attribute name="domain">test-domain</attribute> <attribute name="UniqueId">0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</attribute> <attribute name="host">9.27.163.151</attribute> <reference name="nextWadiStaticMember"> <pattern> <groupId>org.apache.geronimo.configs</groupId> <artifactId>wadi-clustering</artifactId> <version>2.2-SNAPSHOT</version> <type>car</type> <name>secondStaticMember</name> </pattern> </reference> </gbean>
Deployment descriptors and deployment plans must be updated as follows:
<web-app> ..... <distributable/> ..... </web-app>
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web/jetty-1.2"> <environment> <moduleId> <groupId>yourGroupId</groupId> <artifactId>yourArtifactId</artifactId> <version>YourVersion</version> <type>war</type> </moduleId> </environment> <context-root>/yourPath</context-root> <clustering-wadi/> </web-app>
| If you are using a Tomcat assembly of Geronimo distribution, replace <clustering-wadi/> with <tomcat-clustering-wadi/> element in the deployment plan. |
Install the following two configurations, shipped out-of-the-box with JEE5 assemblies, to support the clustering:
Tomcat configurations mirror Jetty's except that jetty6-X artifact IDs should be replaced by tomcat6-X.
Geronimo uses the OpenEJB container for providing EJB services. And Geronimo now has some basic support for SFSB clustering such as state replication between cluster members. Basically the server cluster members maintain membership information using multicast heartbeats and the ejb client maintains a list of servers to change target server based on availability. Each multicast packet contains a single URI that advertises a service, its group, and its location in the form of "cluster1:ejb:ejbd://thehost:4201".
The Geronimo-specific deployment plan for an EJB application, which is usually packaged as an EJB JAR file, is called "openejb-jar.xml". The openejb-jar.xml deployment plan is used in conjunction with the ejb-jar.xml Java EE deployment plan to deploy enterprise applications to the Geronimo application server.
To enable WADI clustering for SFSB, add openejb-clustering-wadi into the deployment plan as follows:
<openejb-jar xmlns="http://openejb.apache.org/xml/ns/openejb-jar-2.2" xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"> ... <openejb-clustering-wadi/> </openejb-jar>
Install the following two configurations, shipped out-of-the-box with JEE5 assemblies, to support the clustering:
|
|
Privacy Policy - Copyright © 2003-2013, The Apache Software Foundation, Licensed under ASL 2.0. |