Author: kfujino
Date: Wed Feb 6 07:46:54 2019
New Revision: 1853051
URL: http://svn.apache.org/viewvc?rev=1853051&view=rev
Log:
Add feature that discover local member from the static member list.
This makes the same static member configuration available on all cluster nodes.
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/membership/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java
tomcat/trunk/webapps/docs/changelog.xml
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/membership/LocalStrings.properties
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/LocalStrings.properties?rev=1853051&r1=1853050&r2=1853051&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/catalina/tribes/membership/LocalStrings.properties
[UTF-8] (original)
+++
tomcat/trunk/java/org/apache/catalina/tribes/membership/LocalStrings.properties
[UTF-8] Wed Feb 6 07:46:54 2019
@@ -61,5 +61,5 @@ staticMembershipProvider.pingThread.fail
staticMembershipProvider.replyRequest.ignored=Message[{0}] is ignored.
staticMembershipProvider.startMembership.noReplies=Received 0 replies,
probably a timeout.
staticMembershipProvider.stopMembership.sendFailed=Unable to send stop
membership message.
-
+staticMembershipService.noLocalMember=There is no localMember in static member
list.
staticMembershipService.stopFail=Unable to stop the static membership service,
level: [{0}]
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java?rev=1853051&r1=1853050&r2=1853051&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java
(original)
+++
tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java
Wed Feb 6 07:46:54 2019
@@ -18,7 +18,9 @@
package org.apache.catalina.tribes.membership;
import java.io.IOException;
+import java.net.InetAddress;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Properties;
import javax.management.ObjectName;
@@ -107,7 +109,10 @@ public class StaticMembershipService ext
@Override
public void setLocalMemberProperties(String listenHost, int listenPort,
int securePort, int udpPort) {
+ properties.setProperty("tcpListenHost", listenHost);
+ properties.setProperty("tcpListenPort", String.valueOf(listenPort));
try {
+ findLocalMember();
localMember.setHostname(listenHost);
localMember.setPort(listenPort);
localMember.setSecurePort(securePort);
@@ -223,4 +228,21 @@ public class StaticMembershipService ext
private String getMembershipName() {
return channel.getName()+"-"+"StaticMembership";
}
+
+ private void findLocalMember() throws IOException {
+ if (this.localMember != null) return;
+ String listenHost = properties.getProperty("tcpListenHost");
+ String listenPort = properties.getProperty("tcpListenPort");
+
+ // find local member from static members
+ for (StaticMember staticMember : this.staticMembers) {
+ if (Arrays.equals(InetAddress.getByName(listenHost).getAddress(),
staticMember.getHost())
+ && Integer.valueOf(listenPort) == staticMember.getPort()) {
+ this.localMember = staticMember;
+ break;
+ }
+ }
+ if (this.localMember == null) throw new
IllegalStateException(sm.getString("staticMembershipService.noLocalMember"));
+ staticMembers.remove(this.localMember);
+ }
}
\ No newline at end of file
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1853051&r1=1853050&r2=1853051&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Feb 6 07:46:54 2019
@@ -45,6 +45,14 @@
issues do not "pop up" wrt. others).
-->
<section name="Tomcat 9.0.17 (markt)" rtext="in development">
+ <subsection name="Tribes">
+ <changelog>
+ <add>
+ Add feature that discover local member from the static member list.
+ (kfujino)
+ </add>
+ </changelog>
+ </subsection>
<subsection name="Other">
<changelog>
<add>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]