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