tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Keiichi Fujino <kfuj...@apache.org>
Subject Re: svn commit: r980378 - in /tomcat/trunk: java/org/apache/catalina/ha/ java/org/apache/catalina/ha/session/ java/org/apache/catalina/ha/tcp/ webapps/docs/config/
Date Fri, 30 Jul 2010 03:31:30 GMT
Sorry.
This rev is just remove defaultMode and add maxActiveSessions.
domainReplication was not related.
I send another proposal mail.

-- 
Keiichi.Fujino



 Fujino <kfujino@apache.org>:
> Hi.
>
> SimpleTcpCluster#sendClusterDomain called when domainReplication is
> true is as follows now.
>
> ===SimpleTcpCluster#sendClusterDomain===
> public void sendClusterDomain(ClusterMessage msg) {
>    send(msg,null);
> }
> === ===
> the msg is transmitted to all cluster members.
> domainReplication does not work correctly.
>
> Tomcat7 and Tomcat6 have
> org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.
> If DomainFilterInterceptor is used, session can be sent only to the
> same domain.
> Is DomainFilterInterceptor used instead of domainReplication?
>
> --
> Keiichi.Fujino
>
> 45:32 2010
>> New Revision: 980378
>>
>> URL: http://svn.apache.org/viewvc?rev=980378&view=rev
>> Log:
>> Remove deprecated defaultMode attribute
>> Clarify current behaviour of maxActiveSessions
>> Clean-up cluster-manager docs
>>
>> Modified:
>>    tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java
>>    tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java
>>    tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
>>    tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
>>    tomcat/trunk/webapps/docs/config/cluster-manager.xml
>>
>> Modified: tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java?rev=980378&r1=980377&r2=980378&view=diff
>> ==============================================================================
>> --- tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java (original)
>> +++ tomcat/trunk/java/org/apache/catalina/ha/ClusterManager.java Thu Jul 29 09:45:32
2010
>> @@ -91,17 +91,6 @@ public interface ClusterManager extends
>>     */
>>    public void setDomainReplication(boolean domainReplication);
>>
>> -   /**
>> -    * @param mode The mode
>> -    * @since 5.5.10
>> -    */
>> -   public void setDefaultMode(boolean mode);
>> -
>> -   /**
>> -    * @since 5.5.10
>> -    */
>> -   public boolean isDefaultMode();
>> -
>>    public ReplicationStream getReplicationStream(byte[] data) throws IOException;
>>
>>    public ReplicationStream getReplicationStream(byte[] data, int offset, int length)
throws IOException;
>>
>> Modified: tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java?rev=980378&r1=980377&r2=980378&view=diff
>> ==============================================================================
>> --- tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java (original)
>> +++ tomcat/trunk/java/org/apache/catalina/ha/session/BackupManager.java Thu Jul 29
09:45:32 2010
>> @@ -94,18 +94,6 @@ public class BackupManager extends Stand
>>     public void setDomainReplication(boolean sendClusterDomainOnly) {
>>     }
>>
>> -    /**
>> -     * @return Returns the defaultMode.
>> -     */
>> -    public boolean isDefaultMode() {
>> -        return false;
>> -    }
>> -    /**
>> -     * @param defaultMode The defaultMode to set.
>> -     */
>> -    public void setDefaultMode(boolean defaultMode) {
>> -    }
>> -
>>     public void setExpireSessionsOnShutdown(boolean expireSessionsOnShutdown)
>>     {
>>         mExpireSessionsOnShutdown = expireSessionsOnShutdown;
>>
>> Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=980378&r1=980377&r2=980378&view=diff
>> ==============================================================================
>> --- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java (original)
>> +++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Thu Jul 29
09:45:32 2010
>> @@ -88,7 +88,6 @@ public class DeltaManager extends Cluste
>>      */
>>     protected static String managerName = "DeltaManager";
>>     protected String name = null;
>> -    protected boolean defaultMode = false;
>>     private CatalinaCluster cluster = null;
>>
>>     /**
>> @@ -474,20 +473,7 @@ public class DeltaManager extends Cluste
>>     }
>>
>>
>> -    /**
>> -     * @return Returns the defaultMode.
>> -     */
>> -    public boolean isDefaultMode() {
>> -        return defaultMode;
>> -    }
>> -    /**
>> -     * @param defaultMode The defaultMode to set.
>> -     */
>> -    public void setDefaultMode(boolean defaultMode) {
>> -        this.defaultMode = defaultMode;
>> -    }
>> -
>> -    public CatalinaCluster getCluster() {
>> +   public CatalinaCluster getCluster() {
>>         return cluster;
>>     }
>>
>>
>> Modified: tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java?rev=980378&r1=980377&r2=980378&view=diff
>> ==============================================================================
>> --- tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java (original)
>> +++ tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java Thu Jul 29
09:45:32 2010
>> @@ -529,7 +529,6 @@ public class SimpleTcpCluster extends Li
>>         String clusterName = getManagerName(cmanager.getName(), manager);
>>         cmanager.setName(clusterName);
>>         cmanager.setCluster(this);
>> -        cmanager.setDefaultMode(false);
>>
>>         managers.put(clusterName, cmanager);
>>         // Notify our interested LifecycleListeners
>>
>> Modified: tomcat/trunk/webapps/docs/config/cluster-manager.xml
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/cluster-manager.xml?rev=980378&r1=980377&r2=980378&view=diff
>> ==============================================================================
>> --- tomcat/trunk/webapps/docs/config/cluster-manager.xml (original)
>> +++ tomcat/trunk/webapps/docs/config/cluster-manager.xml Thu Jul 29 09:45:32 2010
>> @@ -34,89 +34,102 @@
>>  </section>
>>
>>  <section name="Introduction">
>> -  <p>
>> -  A cluster manager is an extension to Tomcat's session manager interface,
>> -  <code>org.apache.catalina.Manager</code>
>> -  A cluster manager must implement the <code>org.apache.catalina.ha.ClusterManager</code>
and is solely
>> -  responsible for how the session is replicated.<br/>
>> -  There are currently two different managers, the <code>org.apache.catalina.ha.session.DeltaManager</code>
replicates deltas
>> -  of session data to all members in the cluster. This implementation is proven
and works very well, but has a limitation
>> -  as it requires the cluster members to be homogeneous, all nodes must deploy the
same applications and be exact replicas.
>> -  The <code>org.apache.catalina.ha.session.BackupManager</code> also
replicates deltas but only to one backup node.
>> -  The location of the backup node is known to all nodes in the cluster. It also
supports heterogeneous deployments,
>> -  so the manager knows at what locations the webapp is deployed.<br/>
>> -  We are planning to add more managers with even more sophisticated backup mechanism
to support even larger clusters.
>> -  Check back soon!
>> -  </p>
>> +  <p>A cluster manager is an extension to Tomcat's session manager interface,
>> +  <code>org.apache.catalina.Manager</code>.
>> +  A cluster manager must implement the
>> +  <code>org.apache.catalina.ha.ClusterManager</code> and is solely
 responsible
>> +  for how the session is replicated.<br/>
>> +  There are currently two different managers, the
>> +  <code>org.apache.catalina.ha.session.DeltaManager</code> replicates
deltas of
>> +  session data to all members in the cluster. This implementation is proven and
>> +  works very well, but has a limitation as it requires the cluster members to be
>> +  homogeneous, all nodes must deploy the same applications and be exact
>> +  replicas. The <code>org.apache.catalina.ha.session.BackupManager</code>
also
>> +  replicates deltas but only to one backup node. The location of the backup node
>> +  is known to all nodes in the cluster. It also supports heterogeneous
>> +  deployments, so the manager knows at what locations the web application is
>> +  deployed.</p>
>>  </section>
>>
>>  <section name="The &lt;Manager&gt;">
>> -  <p>
>> -   The <code>&lt;Manager&gt;</code> element defined inside
the <code>&lt;Cluster&gt;</code> element
>> -   is the template defined for all web applications that are marked <code>&lt;distributable/&gt;</code>
>> -   in their <code>web.xml</code> file.
>> -   However, you can still override the manager implementation on a per web application
basis,
>> -   by putting the <code>&lt;Manager&gt;</code> inside the <code>&lt;Context&gt;</code>
element either in the
>> -   <code><a href="context.html">context.xml</a></code>
file or the <code><a href="index.html">server.xml</a></code> file.
>> -  </p>
>> +  <p>The <code>&lt;Manager&gt;</code> element defined
inside the
>> +  <code>&lt;Cluster&gt;</code> element is the template defined
for all web
>> +  applications that are marked <code>&lt;distributable/&gt;</code>
in their
>> +  <code>web.xml</code> file. However, you can still override the manager
>> +  implementation on a per web application basis, by putting the
>> +  <code>&lt;Manager&gt;</code> inside the <code>&lt;Context&gt;</code>
element
>> +  either in the <code><a href="context.html">context.xml</a></code>
file or the
>> +  <code><a href="index.html">server.xml</a></code> file.</p>
>>  </section>
>>
>>  <section name="Attributes">
>>   <subsection name="Common Attributes">
>>     <attributes>
>> -     <attribute name="className" required="true">
>> -     </attribute>
>> -     <attribute name="name" required="false">
>> -      <b>The name of this cluster manager, the name is used to identify
a session manager on a node.
>> -      The name might get modified by the <code>Cluster</code> element
to make it unique in the container.</b>
>> -     </attribute>
>> -     <attribute name="defaultMode" required="false">
>> -      <b>Deprecated since 6.0.0</b>
>> -     </attribute>
>> -     <attribute name="notifyListenersOnReplication" required="false">
>> -       Set to <code>true</code> if you wish to have session listeners
notified when
>> -       session attributes are being replicated or removed across Tomcat nodes
in the cluster.
>> -     </attribute>
>> -     <attribute name="expireSessionsOnShutdown" required="false">
>> -       When a webapplication is being shutdown, Tomcat issues an expire call
to each session to
>> -       notify all the listeners. If you wish for all sessions to expire on all
nodes when
>> -       a shutdown occurs on one node, set this value to <code>true</code>.
>> -       Default value is <code>false</code>.
>> -     </attribute>
>> -
>> +      <attribute name="className" required="true">
>> +      </attribute>
>> +      <attribute name="name" required="false">
>> +        <b>The name of this cluster manager, the name is used to identify
a
>> +        session manager on a node. The name might get modified by the
>> +        <code>Cluster</code> element to make it unique in the container.</b>
>> +      </attribute>
>> +      <attribute name="notifyListenersOnReplication" required="false">
>> +        Set to <code>true</code> if you wish to have session listeners
notified
>> +        when session attributes are being replicated or removed across Tomcat
>> +        nodes in the cluster.
>> +      </attribute>
>> +      <attribute name="expireSessionsOnShutdown" required="false">
>> +        When a web application is being shutdown, Tomcat issues an expire call
>> +        to each session to notify all the listeners. If you wish for all
>> +        sessions to expire on all nodes when a shutdown occurs on one node,
set
>> +        this value to <code>true</code>. Default value is <code>false</code>.
>> +      </attribute>
>>     </attributes>
>>   </subsection>
>>   <subsection name="org.apache.catalina.ha.session.DeltaManager Attributes">
>>     <attributes>
>> -     <attribute name="domainReplication" required="false">
>> -      Set to true if you wish sessions to be replicated only to members that
have the same logical
>> -      domain set. If set to false, session replication will ignore the domain
setting the
>> -      <code><a href="cluster-membership.html">&lt;Membership&gt;</a></code>
>> -      element.
>> -     </attribute>
>> -     <attribute name="expireSessionsOnShutdown" required="false">
>> -       When a webapplication is being shutdown, Tomcat issues an expire call
to each session to
>> -       notify all the listeners. If you wish for all sessions to expire on all
nodes when
>> -       a shutdown occurs on one node, set this value to <code>true</code>.
>> -       Default value is <code>false</code>.
>> -     </attribute>
>> -     <attribute name="stateTransferTimeout" required="false">
>> -       The time in seconds to wait for a session state transfer to complete from
another node
>> -       when a node is starting up.
>> -       Default value is <code>60</code> seconds.
>> -     </attribute>
>> +      <attribute name="domainReplication" required="false">
>> +        Set to true if you wish sessions to be replicated only to members that
>> +        have the same logical domain set. If set to false, session replication
>> +        will ignore the domain setting the
>> +        <code><a href="cluster-membership.html">&lt;Membership&gt;</a></code>
>> +        element.
>> +      </attribute>
>> +      <attribute name="expireSessionsOnShutdown" required="false">
>> +        When a web application is being shutdown, Tomcat issues an expire call
>> +        to each session to notify all the listeners. If you wish for all
>> +        sessions to expire on all nodes when a shutdown occurs on one node,
set
>> +        this value to <code>true</code>.
>> +        Default value is <code>false</code>.
>> +      </attribute>
>> +      <attribute name="maxActiveSessions" required="false">
>> +        The maximum number of active sessions that will be created by this
>> +        Manager, or -1 (the default) for no limit. For this manager, all
>> +        sessions are counted as active sessions irrespective if whether or not
>> +        the current node is the primary node for the session.
>> +      </attribute>
>> +      <attribute name="stateTransferTimeout" required="false">
>> +        The time in seconds to wait for a session state transfer to complete
>> +        from another node when a node is starting up.
>> +        Default value is <code>60</code> seconds.
>> +      </attribute>
>>     </attributes>
>>   </subsection>
>>   <subsection name="org.apache.catalina.ha.session.BackupManager Attributes">
>>     <attributes>
>> -     <attribute name="mapSendOptions" required="false">
>> -       The backup manager uses a replicated map, this map is sending and
>> -       receiving messages. You can setup the flag for how this map is sending
>> -       messages, the default value is <code>6</code>(synchronous).<br/>
>> -       Note that if you use asynchronous messaging it is possible for update
>> -       messages for a session to be processed by the receiving node in a
>> -       different order to the order in which they were sent.
>> -     </attribute>
>> +      <attribute name="mapSendOptions" required="false">
>> +        The backup manager uses a replicated map, this map is sending and
>> +        receiving messages. You can setup the flag for how this map is sending
>> +        messages, the default value is <code>6</code>(synchronous).<br/>
>> +        Note that if you use asynchronous messaging it is possible for update
>> +        messages for a session to be processed by the receiving node in a
>> +        different order to the order in which they were sent.
>> +      </attribute>
>> +      <attribute name="maxActiveSessions" required="false">
>> +        The maximum number of active sessions that will be created by this
>> +        Manager, or -1 (the default) for no limit. For this manager, only
>> +        sessions where the current node is the primary node for the session
are
>> +        considered active sessions.
>> +      </attribute>
>>     </attributes>
>>   </subsection>
>>  </section>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>
>>
>
>
>
> --
> Keiichi.Fujino
>



-- 
Keiichi.Fujino

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message