Jeff Genender wrote:
Hi Matthew,
Ultimately clustering should not be based on WADI directly, but for
components that implement the session API interface. We want to make
clustering components pluggable, so there is no hard coded clustering agent.
With my WADI hat on:
Agreed - this is the correct approach - however, for reasons stated in
the related threads on this list, I believe that the proposed API has
been positioned at the wrong level of abstraction. As such, I believe
that it actually acts as a barrier to WADI's integration.
I am unaware of WADI's status regarding its implementation of the
session API. Jules or Greg would need to comment on this.
I've given this a lot of consideration and come to the conclusion, that,
whilst I have every intention of WADI and Geronimo being integrated,
this integration is unlikely to occur via the proposed API in its
current form. I think that WADI will continue to go down the route of
integrating its front end directly with the tier in question, whilst
exposing its backend to Geronimo management facilities.
We (Geronimo) will have a session clustering component that will be
offered as a part of Geronimo that will implement the session API
interface shortly. Its been a side project for a couple of weeks ;-)
With my Geronimo hat on:
Sounds interesting. Is the design discussion going on in public
somewhere or are you integrating an existing component? I am sure that
there are many people on the list who would be interested in participating.
Relative to the Tomcat clustering, yes this is an interim capability to
allow for clustering the web tier. Although it will always be
available, I believe we will have a more robust solution that works
across all component in the near future. Stay tuned ;-)
You bet :-)
Jules
Jeff
Matthew Jording wrote:
Jeff, Dave,
I would like to implement a Geronimo Cluster Management Web Service
and need some additional information on the advances of WADI
integration. The current clustering examples seem to only be concerned
with tomcat web tier clustering and doesn't seem to use WADI to
facilitate the management of the sessions.
Thanks
Matt
Jeff Genender wrote:
Dave,
Thanks for doing this.
Jeff
Dave Colasurdo wrote:
I've validated that the Geronimo clustering example
(http://opensource.atlassian.com/confluence/oss/display/GERONIMO/Geronimo+Clustering+Example)
still works for Geronimo 1.1 (with Tomcat 5.5.9). The application
deployment plan (attached to email) required some changes.
I'm now rebuilding G1.1 with Tomcat 5.5.15 to determine if the
clustering Gbeans and plans still work..
-Dave-
Jeff Genender wrote:
IIRC, 5.5.15 went to backward compatibility...
http://mail-archives.apache.org/mod_mbox/tomcat-users/200512.mbox/[EMAIL
PROTECTED]
Perhaps Filip can fill us in on this.
If I remember right, the 5.5.9 clustering GBeans will work on forward
versions. So I don't think there is a problem there. HEAD has been
set
to 5.5.15 for quite some time.
Nevertheless, it doesn't hurt to try em out ;-)
Jeff
Dave Colasurdo wrote:
Jeff (et al.),
Will G1.1 definitely be upgraded to Tomcat 5.5.15?
IIRC, the clustering deployment plans were quite different for 5.5.9
-vs- 5.5.12. If we upgrade to 5.5.15, we will likely need a new plan
that accounts for both the webcontainer upgrade as well as the new
G1.1
plan format..
Thanks
-Dave-
Jeff Genender wrote:
Thanks Rainer. But I think 5.5.15 will be the one for 1.1. But
possibly 5.5.17 for 1.2 ;-)
Jeff
Rainer Jung wrote:
Just for your information: 5.5.16 was released a couple of weeks
ago,
but has some problems with de delivered packaginf of examples app
under
windows.
5.5.17 is expected to be cut on friday and voted stable
eventually 1-2
weeks later.
Jeff Genender wrote:
Yep...need to update the plan. Its updated in trunk.
Dave Colasurdo wrote:
It appears that G1.1 is still using Tomcat 5.5.9
http://svn.apache.org/repos/asf/geronimo/branches/1.1/etc/project.properties
Wasn't a tomcat upgrade to 5.5.15 in plan for G1.1?? Perhaps I am
confused with the plans for trunk.. ??
Thanks
-Dave-
------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!--Copyright 2004-2005 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
See the License for the specific language governing permissions and
limitations under the License.-->
<!--$Rev: 381704 $ $Date: 2006-02-28 11:55:41 -0500 (Tue, 28 Feb
2006) $-->
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.1">
<dep:environment
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
<dep:configId>
<dep:groupId>geronimo</dep:groupId>
<dep:artifactId>servlets-examples-tomcat-cluster</dep:artifactId>
<dep:version>1.1-SNAPSHOT</dep:version>
<dep:type>car</dep:type>
</dep:configId>
<dep:dependencies/>
<dep:hidden-classes/>
<dep:non-overridable-classes/>
</dep:environment>
<context-root>/servlets-examples-cluster</context-root>
<context-priority-classloader>false</context-priority-classloader>
<security-realm-name>geronimo-properties-realm</security-realm-name>
<security>
<default-principal>
<principal name="anonymous"
class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal"/>
</default-principal>
<role-mappings>
<role role-name="tomcat">
<principal name="admin"
class="org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal"/>
</role>
</role-mappings>
</security>
<cluster>TomcatCluster</cluster>
<!-- Cluster -->
<gbean name="TomcatCluster"
class="org.apache.geronimo.tomcat.cluster.CatalinaClusterGBean">
<attribute
name="className">org.apache.catalina.cluster.tcp.SimpleTcpCluster</attribute>
<attribute name="initParams">
managerClassName=org.apache.catalina.cluster.session.DeltaManager
expireSessionsOnShutdown=false
useDirtyFlag=false
notifyListenersOnReplication=true
</attribute>
<reference name="Membership"> <name>TomcatMembership</name>
</reference> <reference name="Receiver">
<name>TomcatReceiver</name> </reference> <reference
name="Sender"> <name>TomcatSender</name> </reference>
<reference name="TomcatValveChain"> <name>ReplicationValve</name>
</reference> <!--
<reference name="ClusterDeployer">
<name>FarmWarDeployer</name> </reference> -->
</gbean>
<!-- Membership -->
<gbean name="TomcatMembership"
class="org.apache.geronimo.tomcat.cluster.MembershipServiceGBean">
<attribute
name="className">org.apache.catalina.cluster.mcast.McastService</attribute>
<attribute name="initParams">
mcastAddr=228.0.0.4
mcastBindAddress=xx.yy.zz.aa mcastPort=45564
mcastFrequency=500
mcastDropTime=3000
</attribute>
</gbean>
<!-- Receiver -->
<gbean name="TomcatReceiver"
class="org.apache.geronimo.tomcat.cluster.ReceiverGBean">
<attribute
name="className">org.apache.catalina.cluster.tcp.ReplicationListener</attribute>
<attribute name="initParams">
tcpListenAddress=xx.yy.zz.aa tcpListenPort=4001
tcpSelectorTimeout=100
tcpThreadCount=6
</attribute>
</gbean>
<!-- Sender -->
<gbean name="TomcatSender"
class="org.apache.geronimo.tomcat.cluster.SenderGBean">
<attribute
name="className">org.apache.catalina.cluster.tcp.ReplicationTransmitter</attribute>
<attribute name="initParams">
replicationMode=pooled
ackTimeout=15000
</attribute>
</gbean>
<!-- Valves -->
<gbean name="ReplicationValve"
class="org.apache.geronimo.tomcat.ValveGBean">
<attribute
name="className">org.apache.catalina.cluster.tcp.ReplicationValve</attribute>
<attribute name="initParams">
filter=.*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;
</attribute>
</gbean>
<!-- Deployer <gbean name="FarmWarDeployer"
class="org.apache.geronimo.tomcat.cluster.FarmWarDeployerGBean">
<attribute name="tempDir">var/catalina/war-temp</attribute>
<attribute name="deployDir">var/catalina/war-deploy</attribute>
<attribute name="watchDir">var/catalina/war-listen</attribute>
<attribute name="watchEnabled">true</attribute>
<attribute name="processDeployFrequency">10</attribute>
<reference name="ServerInfo">
<moduleType>J2EEModule</moduleType>
<module>geronimo/j2ee-system/1.1-SNAPSHOT/car</module>
<name>ServerInfo</name>
</reference>
</gbean>
-->
</web-app>
--
"Open Source is a self-assembling organism. You dangle a piece of
string into a super-saturated solution and a whole operating-system
crystallises out around it."
/**********************************
* Jules Gosnell
* Partner
* Core Developers Network (Europe)
*
* www.coredevelopers.net
*
* Open Source Training & Support.
**********************************/