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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org