You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Jeff Genender <jg...@apache.org> on 2006/05/04 04:34:59 UTC

Re: Tomcat version in G1.1 for clustering

Hi Gianny,

Thanks for the ping.  I would be happy to engage and walk through some
ideas, etc.  But you hit the nail on the head...I am working hard on
trying to get us to J1 - so many hours in the day! ;-)

I am with you all the way on offering a more robust solution and am in
complete alignment on producing a pluggable solution that fits multiple
clustering solutions.  I think we should be able to share some ideas and
have a great solution that fits all APIs.

Actually...I am also glad you spoke up...I need to share some ideas with
you on the OpenEJB session integration and abstracting out the
pluggability and you (the OpenEJB clustering expert) are just the person
I wanted to get some review with. ;-)

Jeff

Gianny Damour wrote:
> Hi,
> 
> Jeff, I do know that you are working hard on preparing the release of
> G1.1; however, when you get more time, could you please try to expand a
> little bit on this subject?
> 
> I am curious to see how the Session API has been implemented and how it
> is leveraged to provide clustering capabilities. I recently had a look
> to the Session API and I am sure that WADI can easily provide an
> implementation.
> 
> Also, I think that many users have been waiting for a "more robust
> (clustering) solution" and I believe that WADI can provide an enhanced
> implementation of the Session API for G1.2. Obviously, your work will
> help WADI developers to understand how to hook in WADI.
> 
> Thanks,
> Gianny
> 
> Jules Gosnell wrote:
> 
>> 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/%3c63770.72.64.65.166.1135363511.squirrel@www.hanik.com%3e
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 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>
>>>>>>
>>>>>>          
>>>>>
>>>>>  
>>>>>     
>>>>
>>
>>
>