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 2015/05/21 11:53:06 UTC

svn commit: r1680791 - in /tomcat/trunk/java/org/apache/catalina/tribes/membership: LocalStrings.properties McastService.java McastServiceImpl.java MemberImpl.java StaticMember.java

Author: kfujino
Date: Thu May 21 09:53:06 2015
New Revision: 1680791

URL: http://svn.apache.org/r1680791
Log:
Use StringManager to provide i18n support in the org.apache.catalina.tribes.membership package.

Modified:
    tomcat/trunk/java/org/apache/catalina/tribes/membership/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java
    tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
    tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java
    tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMember.java

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=1680791&r1=1680790&r2=1680791&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/membership/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/membership/LocalStrings.properties Thu May 21 09:53:06 2015
@@ -18,3 +18,35 @@ McastService.parseSoTimeout=Unable to pa
 McastService.stopFail=Unable to stop the mcast service, level: [{0}]
 McastService.payload=Unable to send payload update
 McastService.domain=Unable to send domain update
+mcastService.missing.property=McastService:Required property "{0}" is missing.
+mcastService.noStart=Multicast send is not started or enabled.
+mcastService.exceed.maxPacketSize=Packet length[{0}] exceeds max packet size of {1} bytes.
+mcastServiceImpl.bind=Attempting to bind the multicast socket to {0}:{1}
+mcastServiceImpl.bind.failed=Binding to multicast address, failed. Binding to port only.
+mcastServiceImpl.setInterface=Setting multihome multicast interface to:{0}
+mcastServiceImpl.setSoTimeout=Setting cluster mcast soTimeout to {0}
+mcastServiceImpl.setTTL=Setting cluster mcast TTL to {0}
+mcastServiceImpl.receive.running=McastService.receive already running.
+mcastServiceImpl.unable.join=Unable to join multicast group, make sure your system has multicasting enabled.
+mcastServiceImpl.send.running=McastService.send already running.
+mcastServiceImpl.invalid.startLevel=Invalid start level. Only acceptable levels are Channel.MBR_RX_SEQ and Channel.MBR_TX_SEQ
+mcastServiceImpl.waitForMembers.start=Sleeping for {0} milliseconds to establish cluster membership, start level:{1}
+mcastServiceImpl.waitForMembers.done=Done sleeping, membership established, start level:{0}
+mcastServiceImpl.invalid.stopLevel=Invalid stop level. Only acceptable levels are Channel.MBR_RX_SEQ and Channel.MBR_TX_SEQ
+mcastServiceImpl.packet.tooLong=Multicast packet received was too long, dropping package:{0}
+mcastServiceImpl.unableReceive.broadcastMessage=Unable to receive broadcast message.
+mcastServiceImpl.memberDisappeared.failed=Unable to process member disappeared message.
+mcastServiceImpl.error.receiving=Error receiving mcast package. Sleeping 500ms
+mcastServiceImpl.send.failed=Unable to send mcast message.
+mcastServiceImpl.recovery.stopFailed=Recovery thread failed to stop membership service.
+mcastServiceImpl.recovery.startFailed=Recovery thread failed to start membership service.
+mcastServiceImpl.recovery=Tribes membership, running recovery thread, multicasting is not functional.
+mcastServiceImpl.recovery.successful=Membership recovery was successful.
+mcastServiceImpl.recovery.failed=Recovery attempt {0} failed, trying again in {1} seconds
+memberImpl.invalid.package.begin=Invalid package, should start with:{0}
+memberImpl.package.small=Member package to small to validate.
+memberImpl.notEnough.bytes=Not enough bytes in member package.
+memberImpl.invalid.package.end=Invalid package, should end with:{0}
+memberImpl.unableParse.hostname=Unable to parse hostname.
+memberImpl.large.payload=Payload is to large for tribes to handle.
+staticMember.invalid.uuidLength=UUID must be exactly 16 bytes, not:{0}
\ No newline at end of file

Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java?rev=1680791&r1=1680790&r2=1680791&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java Thu May 21 09:53:06 2015
@@ -269,7 +269,7 @@ public class McastService implements Mem
      * @param name The property to check for
      */
     protected void hasProperty(Properties properties, String name){
-        if ( properties.getProperty(name)==null) throw new IllegalArgumentException("McastService:Required property \""+name+"\" is missing.");
+        if ( properties.getProperty(name)==null) throw new IllegalArgumentException(sm.getString("mcastService.missing.property", name));
     }
 
     /**
@@ -334,7 +334,7 @@ public class McastService implements Mem
             try {
                 soTimeout = Integer.parseInt(properties.getProperty("mcastSoTimeout"));
             } catch ( Exception x ) {
-                log.error(sm.getString("McastService.parseTTL",
+                log.error(sm.getString("McastService.parseSoTimeout",
                         properties.getProperty("mcastSoTimeout")), x);
             }
         }
@@ -484,11 +484,11 @@ public class McastService implements Mem
     @Override
     public void broadcast(ChannelMessage message) throws ChannelException {
         if (impl==null || (impl.startLevel & Channel.MBR_TX_SEQ)!=Channel.MBR_TX_SEQ )
-            throw new ChannelException("Multicast send is not started or enabled.");
+            throw new ChannelException(sm.getString("mcastService.noStart"));
 
         byte[] data = XByteBuffer.createDataPackage((ChannelData)message);
         if (data.length>McastServiceImpl.MAX_PACKET_SIZE) {
-            throw new ChannelException("Packet length["+data.length+"] exceeds max packet size of "+McastServiceImpl.MAX_PACKET_SIZE+" bytes.");
+            throw new ChannelException(sm.getString("mcastService.exceed.maxPacketSize", data.length,McastServiceImpl.MAX_PACKET_SIZE));
         }
         DatagramPacket packet = new DatagramPacket(data,0,data.length);
         try {

Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java?rev=1680791&r1=1680790&r2=1680791&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java Thu May 21 09:53:06 2015
@@ -37,6 +37,7 @@ import org.apache.catalina.tribes.Messag
 import org.apache.catalina.tribes.io.ChannelData;
 import org.apache.catalina.tribes.io.XByteBuffer;
 import org.apache.catalina.tribes.util.ExecutorFactory;
+import org.apache.catalina.tribes.util.StringManager;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 
@@ -54,6 +55,8 @@ public class McastServiceImpl {
     private static final Log log = LogFactory.getLog(McastService.class);
 
     protected static final int MAX_PACKET_SIZE = 65535;
+
+    protected static final StringManager sm = StringManager.getManager(Constants.Package);
     /**
      * Internal flag used for the listen thread that listens to the multicasting socket.
      */
@@ -207,7 +210,7 @@ public class McastServiceImpl {
     protected void setupSocket() throws IOException {
         if (mcastBindAddress != null) {
             try {
-                log.info("Attempting to bind the multicast socket to "+address+":"+port);
+                log.info(sm.getString("mcastServiceImpl.bind", address, port));
                 socket = new MulticastSocket(new InetSocketAddress(address,port));
             } catch (BindException e) {
                 /*
@@ -215,7 +218,7 @@ public class McastServiceImpl {
                  * to the multicast address. In this case only bind to the
                  * port.
                  */
-                log.info("Binding to multicast address, failed. Binding to port only.");
+                log.info(sm.getString("mcastServiceImpl.bind.failed"));
                 socket = new MulticastSocket(port);
             }
         } else {
@@ -224,18 +227,18 @@ public class McastServiceImpl {
         socket.setLoopbackMode(localLoopbackDisabled); //hint if we want disable loop back(local machine) messages
         if (mcastBindAddress != null) {
             if(log.isInfoEnabled())
-                log.info("Setting multihome multicast interface to:" +mcastBindAddress);
+                log.info(sm.getString("mcastServiceImpl.setInterface", mcastBindAddress));
             socket.setInterface(mcastBindAddress);
         } //end if
         //force a so timeout so that we don't block forever
         if ( mcastSoTimeout <= 0 ) mcastSoTimeout = (int)sendFrequency;
         if(log.isInfoEnabled())
-            log.info("Setting cluster mcast soTimeout to "+mcastSoTimeout);
+            log.info(sm.getString("mcastServiceImpl.setSoTimeout", mcastSoTimeout));
         socket.setSoTimeout(mcastSoTimeout);
 
         if ( mcastTTL >= 0 ) {
             if(log.isInfoEnabled())
-                log.info("Setting cluster mcast TTL to " + mcastTTL);
+                log.info(sm.getString("mcastServiceImpl.setTTL", mcastTTL));
             socket.setTimeToLive(mcastTTL);
         }
     }
@@ -250,11 +253,11 @@ public class McastServiceImpl {
     public synchronized void start(int level) throws IOException {
         boolean valid = false;
         if ( (level & Channel.MBR_RX_SEQ)==Channel.MBR_RX_SEQ ) {
-            if ( receiver != null ) throw new IllegalStateException("McastService.receive already running.");
+            if ( receiver != null ) throw new IllegalStateException(sm.getString("mcastServiceImpl.receive.running"));
             try {
                 if ( sender == null ) socket.joinGroup(address);
             }catch (IOException iox) {
-                log.error("Unable to join multicast group, make sure your system has multicasting enabled.");
+                log.error(sm.getString("mcastServiceImpl.unable.join"));
                 throw iox;
             }
             doRunReceiver = true;
@@ -264,7 +267,7 @@ public class McastServiceImpl {
             valid = true;
         }
         if ( (level & Channel.MBR_TX_SEQ)==Channel.MBR_TX_SEQ ) {
-            if ( sender != null ) throw new IllegalStateException("McastService.send already running.");
+            if ( sender != null ) throw new IllegalStateException(sm.getString("mcastServiceImpl.send.running"));
             if ( receiver == null ) socket.joinGroup(address);
             //make sure at least one packet gets out there
             send(false);
@@ -276,7 +279,7 @@ public class McastServiceImpl {
             valid = true;
         }
         if (!valid) {
-            throw new IllegalArgumentException("Invalid start level. Only acceptable levels are Channel.MBR_RX_SEQ and Channel.MBR_TX_SEQ");
+            throw new IllegalArgumentException(sm.getString("mcastServiceImpl.invalid.startLevel"));
         }
         //pause, once or twice
         waitForMembers(level);
@@ -286,10 +289,10 @@ public class McastServiceImpl {
     private void waitForMembers(int level) {
         long memberwait = sendFrequency*2;
         if(log.isInfoEnabled())
-            log.info("Sleeping for "+memberwait+" milliseconds to establish cluster membership, start level:"+level);
+            log.info(sm.getString("mcastServiceImpl.waitForMembers.start", memberwait, level));
         try {Thread.sleep(memberwait);}catch (InterruptedException ignore){}
         if(log.isInfoEnabled())
-            log.info("Done sleeping, membership established, start level:"+level);
+            log.info(sm.getString("mcastServiceImpl.waitForMembers.done", level));
     }
 
     /**
@@ -313,7 +316,7 @@ public class McastServiceImpl {
         }
 
         if (!valid) {
-            throw new IllegalArgumentException("Invalid stop level. Only acceptable levels are Channel.MBR_RX_SEQ and Channel.MBR_TX_SEQ");
+            throw new IllegalArgumentException(sm.getString("mcastServiceImpl.invalid.stopLevel"));
         }
         startLevel = (startLevel & (~level));
         //we're shutting down, send a shutdown message and close the socket
@@ -340,7 +343,7 @@ public class McastServiceImpl {
 
             socket.receive(receivePacket);
             if(receivePacket.getLength() > MAX_PACKET_SIZE) {
-                log.error("Multicast packet received was too long, dropping package:"+receivePacket.getLength());
+                log.error(sm.getString("mcastServiceImpl.packet.tooLong", receivePacket.getLength()));
             } else {
                 byte[] data = new byte[receivePacket.getLength()];
                 System.arraycopy(receivePacket.getData(), receivePacket.getOffset(), data, 0, data.length);
@@ -429,7 +432,7 @@ public class McastServiceImpl {
                                 if (t instanceof VirtualMachineError) {
                                     throw (VirtualMachineError) t;
                                 }
-                                log.error("Unable to receive broadcast message.",t);
+                                log.error(sm.getString("mcastServiceImpl.unableReceive.broadcastMessage"),t);
                             }
                         }
                     }finally {
@@ -465,7 +468,7 @@ public class McastServiceImpl {
                     };
                     executor.execute(t);
                 } catch (Exception x) {
-                    log.error("Unable to process member disappeared message.", x);
+                    log.error(sm.getString("mcastServiceImpl.memberDisappeared.failed"), x);
                 }
             }
         }
@@ -538,7 +541,7 @@ public class McastServiceImpl {
                     if ( log.isDebugEnabled() )
                         log.debug("Invalid member mcast package.",ax);
                 } catch ( Exception x ) {
-                    if (errorCounter==0 && doRunReceiver) log.warn("Error receiving mcast package. Sleeping 500ms",x);
+                    if (errorCounter==0 && doRunReceiver) log.warn(sm.getString("mcastServiceImpl.error.receiving"),x);
                     else if (log.isDebugEnabled()) log.debug("Error receiving mcast package"+(doRunReceiver?". Sleeping 500ms":"."),x);
                     if (doRunReceiver) {
                         try { Thread.sleep(500); } catch ( Exception ignore ){}
@@ -567,7 +570,7 @@ public class McastServiceImpl {
                     send(true);
                     errorCounter = 0;
                 } catch ( Exception x ) {
-                    if (errorCounter==0) log.warn("Unable to send mcast message.",x);
+                    if (errorCounter==0) log.warn(sm.getString("mcastServiceImpl.send.failed"),x);
                     else log.debug("Unable to send mcast message.",x);
                     if ( (++errorCounter)>=recoveryCounter ) {
                         errorCounter=0;
@@ -611,7 +614,7 @@ public class McastServiceImpl {
                 parent.stop(Channel.MBR_RX_SEQ | Channel.MBR_TX_SEQ);
                 return true;
             } catch (Exception x) {
-                log.warn("Recovery thread failed to stop membership service.", x);
+                log.warn(sm.getString("mcastServiceImpl.recovery.stopFailed"), x);
                 return false;
             }
         }
@@ -621,7 +624,7 @@ public class McastServiceImpl {
                 parent.start(Channel.MBR_RX_SEQ | Channel.MBR_TX_SEQ);
                 return true;
             } catch (Exception x) {
-                log.warn("Recovery thread failed to start membership service.", x);
+                log.warn(sm.getString("mcastServiceImpl.recovery.startFailed"), x);
                 return false;
             }
         }
@@ -632,16 +635,16 @@ public class McastServiceImpl {
             try {
                 while (!success) {
                     if(log.isInfoEnabled())
-                        log.info("Tribes membership, running recovery thread, multicasting is not functional.");
+                        log.info(sm.getString("mcastServiceImpl.recovery"));
                     if (stopService() & startService()) {
                         success = true;
                         if(log.isInfoEnabled())
-                            log.info("Membership recovery was successful.");
+                            log.info(sm.getString("mcastServiceImpl.recovery.successful"));
                     }
                     try {
                         if (!success) {
                             if(log.isInfoEnabled())
-                                log.info("Recovery attempt "+(++attempt)+" failed, trying again in " +parent.recoverySleepTime+ " seconds");
+                                log.info(sm.getString("mcastServiceImpl.recovery.failed", ++attempt, parent.recoverySleepTime));
                             Thread.sleep(parent.recoverySleepTime);
                         }
                     }catch (InterruptedException ignore) {

Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java?rev=1680791&r1=1680790&r2=1680791&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java Thu May 21 09:53:06 2015
@@ -25,6 +25,7 @@ import java.util.Arrays;
 import org.apache.catalina.tribes.Member;
 import org.apache.catalina.tribes.io.XByteBuffer;
 import org.apache.catalina.tribes.transport.SenderState;
+import org.apache.catalina.tribes.util.StringManager;
 
 /**
  * A <b>membership</b> implementation using simple multicast.
@@ -41,6 +42,7 @@ public class MemberImpl implements Membe
 
     public static final transient byte[] TRIBES_MBR_BEGIN = new byte[] {84, 82, 73, 66, 69, 83, 45, 66, 1, 0};
     public static final transient byte[] TRIBES_MBR_END   = new byte[] {84, 82, 73, 66, 69, 83, 45, 69, 1, 0};
+    protected static final StringManager sm = StringManager.getManager(Constants.Package);
 
     /**
      * The listen host for this member
@@ -315,11 +317,11 @@ public class MemberImpl implements Membe
         int pos = offset;
 
         if (XByteBuffer.firstIndexOf(data,offset,TRIBES_MBR_BEGIN)!=pos) {
-            throw new IllegalArgumentException("Invalid package, should start with:"+org.apache.catalina.tribes.util.Arrays.toString(TRIBES_MBR_BEGIN));
+            throw new IllegalArgumentException(sm.getString("memberImpl.invalid.package.begin", org.apache.catalina.tribes.util.Arrays.toString(TRIBES_MBR_BEGIN)));
         }
 
         if ( length < (TRIBES_MBR_BEGIN.length+4) ) {
-            throw new ArrayIndexOutOfBoundsException("Member package to small to validate.");
+            throw new ArrayIndexOutOfBoundsException(sm.getString("memberImpl.package.small"));
         }
 
         pos += TRIBES_MBR_BEGIN.length;
@@ -328,12 +330,12 @@ public class MemberImpl implements Membe
         pos += 4;
 
         if ( length < (bodylength+4+TRIBES_MBR_BEGIN.length+TRIBES_MBR_END.length) ) {
-            throw new ArrayIndexOutOfBoundsException("Not enough bytes in member package.");
+            throw new ArrayIndexOutOfBoundsException(sm.getString("memberImpl.notEnough.bytes"));
         }
 
         int endpos = pos+bodylength;
         if (XByteBuffer.firstIndexOf(data,endpos,TRIBES_MBR_END)!=endpos) {
-            throw new IllegalArgumentException("Invalid package, should end with:"+org.apache.catalina.tribes.util.Arrays.toString(TRIBES_MBR_END));
+            throw new IllegalArgumentException(sm.getString("memberImpl.invalid.package.end", org.apache.catalina.tribes.util.Arrays.toString(TRIBES_MBR_END)));
         }
 
 
@@ -444,7 +446,7 @@ public class MemberImpl implements Membe
                     this.hostname = org.apache.catalina.tribes.util.Arrays.toString(host,0,host.length,true);
                 return this.hostname;
             }catch ( IOException x ) {
-                throw new RuntimeException("Unable to parse hostname.",x);
+                throw new RuntimeException(sm.getString("memberImpl.unableParse.hostname"),x);
             }
         }
     }
@@ -599,7 +601,7 @@ public class MemberImpl implements Membe
         this.payload = payload!=null?payload:new byte[0];
         if ( this.getData(true,true).length > McastServiceImpl.MAX_PACKET_SIZE ) {
             this.payload = oldpayload;
-            throw new IllegalArgumentException("Payload is to large for tribes to handle.");
+            throw new IllegalArgumentException(sm.getString("memberImpl.large.payload"));
         }
 
     }

Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMember.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMember.java?rev=1680791&r1=1680790&r2=1680791&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMember.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMember.java Thu May 21 09:53:06 2015
@@ -59,7 +59,7 @@ public class StaticMember extends Member
      */
     public void setUniqueId(String id) {
         byte[] uuid = Arrays.fromString(id);
-        if ( uuid==null || uuid.length != 16 ) throw new RuntimeException("UUID must be exactly 16 bytes, not:"+id);
+        if ( uuid==null || uuid.length != 16 ) throw new RuntimeException(sm.getString("staticMember.invalid.uuidLength", id));
         setUniqueId(uuid);
     }
 



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