You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kf...@apache.org on 2018/05/29 06:33:40 UTC

svn commit: r1832427 - in /tomcat/trunk: java/org/apache/catalina/ha/CatalinaCluster.java java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java webapps/docs/changelog.xml

Author: kfujino
Date: Tue May 29 06:33:40 2018
New Revision: 1832427

URL: http://svn.apache.org/viewvc?rev=1832427&view=rev
Log:
Add the method to send a message with a specified sendOptions.

Modified:
    tomcat/trunk/java/org/apache/catalina/ha/CatalinaCluster.java
    tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/ha/CatalinaCluster.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/CatalinaCluster.java?rev=1832427&r1=1832426&r2=1832427&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/CatalinaCluster.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ha/CatalinaCluster.java Tue May 29 06:33:40 2018
@@ -48,6 +48,15 @@ public interface CatalinaCluster extends
     public void send(ClusterMessage msg, Member dest);
 
     /**
+     * Sends a message with the specified sendOptions to a specific member in the cluster.
+     *
+     * @param msg ClusterMessage
+     * @param dest Member
+     * @param sendOptions sendOptions
+     */
+    public void send(ClusterMessage msg, Member dest, int sendOptions);
+
+    /**
      * @return <code>true</code> if the cluster has members.
      */
     public boolean hasMembers();

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=1832427&r1=1832426&r2=1832427&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java Tue May 29 06:33:40 2018
@@ -704,6 +704,27 @@ public class SimpleTcpCluster extends Li
         }
     }
 
+    @Override
+    public void send(ClusterMessage msg, Member dest, int sendOptions) {
+        try {
+            msg.setAddress(getLocalMember());
+            if (dest != null) {
+                if (!getLocalMember().equals(dest)) {
+                    channel.send(new Member[] {dest}, msg, sendOptions);
+                } else
+                    log.error(sm.getString("simpleTcpCluster.unableSend.localMember", msg));
+            } else {
+                Member[] destmembers = channel.getMembers();
+                if (destmembers.length>0)
+                    channel.send(destmembers,msg, sendOptions);
+                else if (log.isDebugEnabled())
+                    log.debug("No members in cluster, ignoring message:"+msg);
+            }
+        } catch (Exception x) {
+            log.error(sm.getString("simpleTcpCluster.sendFailed"), x);
+        }
+    }
+
     /**
      * New cluster member is registered
      *

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1832427&r1=1832426&r2=1832427&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Tue May 29 06:33:40 2018
@@ -192,6 +192,9 @@
         subsequent session update message being ignored because the session does
         not yet exist. (markt)
       </fix>
+      <add>
+        Add the method to send a message with a specified sendOptions. (kfujino)
+      </add>
     </changelog>
   </subsection>
   <subsection name="WebSocket">



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