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 12:14:51 UTC
svn commit: r1680802 [2/3] - in /tomcat/tc8.0.x/trunk:
java/org/apache/catalina/tribes/group/
java/org/apache/catalina/tribes/group/interceptors/
java/org/apache/catalina/tribes/io/
java/org/apache/catalina/tribes/membership/ java/org/apache/catalina/t...
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Thu May 21 10:14:50 2015
@@ -42,6 +42,7 @@ import org.apache.catalina.tribes.group.
import org.apache.catalina.tribes.group.RpcChannel;
import org.apache.catalina.tribes.io.XByteBuffer;
import org.apache.catalina.tribes.util.Arrays;
+import org.apache.catalina.tribes.util.StringManager;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -55,6 +56,9 @@ public abstract class AbstractReplicated
private static final long serialVersionUID = 1L;
+ protected static final StringManager sm =
+ StringManager.getManager(AbstractReplicatedMap.class.getPackage().getName());
+
private final Log log = LogFactory.getLog(AbstractReplicatedMap.class);
/**
@@ -200,7 +204,7 @@ public abstract class AbstractReplicated
protected void init(MapOwner owner, Channel channel, String mapContextName,
long timeout, int channelSendOptions,ClassLoader[] cls, boolean terminate) {
long start = System.currentTimeMillis();
- if (log.isInfoEnabled()) log.info("Initializing AbstractReplicatedMap with context name:"+mapContextName);
+ if (log.isInfoEnabled()) log.info(sm.getString("abstractReplicatedMap.init.start", mapContextName));
this.mapOwner = owner;
this.externalLoaders = cls;
this.channelSendOptions = channelSendOptions;
@@ -228,15 +232,15 @@ public abstract class AbstractReplicated
//state is transferred, we are ready for messaging
broadcast(MapMessage.MSG_START, true);
} catch (ChannelException x) {
- log.warn("Unable to send map start message.");
+ log.warn(sm.getString("abstractReplicatedMap.unableSend.startMessage"));
if (terminate) {
breakdown();
- throw new RuntimeException("Unable to start replicated map.",x);
+ throw new RuntimeException(sm.getString("abstractReplicatedMap.unableStart"),x);
}
}
long complete = System.currentTimeMillis() - start;
if (log.isInfoEnabled())
- log.info("AbstractReplicatedMap[" +mapContextName + "] initialization was completed in " + complete + " ms.");
+ log.info(sm.getString("abstractReplicatedMap.init.completed", mapContextName, complete));
}
@@ -321,7 +325,7 @@ public abstract class AbstractReplicated
messageReceived(resp[i].getMessage(), resp[i].getSource());
}
} else {
- log.warn("broadcast received 0 replies, probably a timeout.");
+ log.warn(sm.getString("abstractReplicatedMap.broadcast.noReplies"));
}
} else {
channel.send(channel.getMembers(),msg,channelSendOptions);
@@ -433,7 +437,7 @@ public abstract class AbstractReplicated
entry.getBackupNodes());
rentry.resetDiff();
} catch (IOException x) {
- log.error("Unable to diff object. Will replicate the entire object instead.", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.diffObject"), x);
} finally {
rentry.unlock();
}
@@ -457,7 +461,7 @@ public abstract class AbstractReplicated
channel.send(entry.getBackupNodes(), msg, channelSendOptions);
}
} catch (ChannelException x) {
- log.error("Unable to replicate data.", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.replicate"), x);
}
} //end if
@@ -497,15 +501,15 @@ public abstract class AbstractReplicated
}
stateTransferred = true;
} else {
- log.warn("Transfer state, 0 replies, probably a timeout.");
+ log.warn(sm.getString("abstractReplicatedMap.transferState.noReplies"));
}
}
} catch (ChannelException x) {
- log.error("Unable to transfer LazyReplicatedMap state.", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.transferState"), x);
} catch (IOException x) {
- log.error("Unable to transfer LazyReplicatedMap state.", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.transferState"), x);
} catch (ClassNotFoundException x) {
- log.error("Unable to transfer LazyReplicatedMap state.", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.transferState"), x);
}
}
@@ -586,9 +590,9 @@ public abstract class AbstractReplicated
memberAlive(mapmsg.getPrimary());
}
} catch (IOException x ) {
- log.error("Unable to deserialize MapMessage.",x);
+ log.error(sm.getString("abstractReplicatedMap.unable.deserialize.MapMessage"),x);
} catch (ClassNotFoundException x ) {
- log.error("Unable to deserialize MapMessage.",x);
+ log.error(sm.getString("abstractReplicatedMap.unable.deserialize.MapMessage"),x);
}
}
@@ -605,10 +609,10 @@ public abstract class AbstractReplicated
try {
mapmsg.deserialize(getExternalLoaders());
} catch (IOException x) {
- log.error("Unable to deserialize MapMessage.", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.deserialize.MapMessage"), x);
return;
} catch (ClassNotFoundException x) {
- log.error("Unable to deserialize MapMessage.", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.deserialize.MapMessage"), x);
return;
}
if ( log.isTraceEnabled() )
@@ -666,7 +670,7 @@ public abstract class AbstractReplicated
try {
diff.applyDiff(mapmsg.getDiffValue(), 0, mapmsg.getDiffValue().length);
} catch (Exception x) {
- log.error("Unable to apply diff to key:" + entry.getKey(), x);
+ log.error(sm.getString("abstractReplicatedMap.unableApply.diff", entry.getKey()), x);
} finally {
diff.unlock();
}
@@ -748,7 +752,7 @@ public abstract class AbstractReplicated
entry.setBackupNodes(backup);
entry.setPrimary(channel.getLocalMember(false));
} catch (ChannelException x) {
- log.error("Unable to select backup node.", x);
+ log.error(sm.getString("abstractReplicatedMap.unableSelect.backup"), x);
} //catch
} //end if
} //while
@@ -791,7 +795,7 @@ public abstract class AbstractReplicated
}
}
if (log.isInfoEnabled())
- log.info("Member["+member+"] disappeared. Related map entries will be relocated to the new node.");
+ log.info(sm.getString("abstractReplicatedMap.member.disappeared", member));
long start = System.currentTimeMillis();
Iterator<Map.Entry<K,MapEntry<K,V>>> i = innerMap.entrySet().iterator();
while (i.hasNext()) {
@@ -805,7 +809,7 @@ public abstract class AbstractReplicated
entry.setBackupNodes(backup);
entry.setPrimary(channel.getLocalMember(false));
} catch (ChannelException x) {
- log.error("Unable to relocate[" + entry.getKey() + "] to a new backup node", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.relocate", entry.getKey()), x);
}
} else if (member.equals(entry.getPrimary())) {
if (log.isDebugEnabled()) log.debug("[2] Primary disappeared");
@@ -836,13 +840,13 @@ public abstract class AbstractReplicated
if ( mapOwner!=null ) mapOwner.objectMadePrimary(entry.getKey(),entry.getValue());
} catch (ChannelException x) {
- log.error("Unable to relocate[" + entry.getKey() + "] to a new backup node", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.relocate", entry.getKey()), x);
}
}
} //while
long complete = System.currentTimeMillis() - start;
- if (log.isInfoEnabled()) log.info("Relocation of map entries was complete in " + complete + " ms.");
+ if (log.isInfoEnabled()) log.info(sm.getString("abstractReplicatedMap.relocate.complete", complete));
}
public int getNextBackupIndex() {
@@ -870,7 +874,7 @@ public abstract class AbstractReplicated
try {
ping(accessTimeout);
}catch ( Exception x ) {
- log.error("Unable to send AbstractReplicatedMap.ping message",x);
+ log.error(sm.getString("abstractReplicatedMap.heartbeat.failed"),x);
}
}
@@ -897,7 +901,7 @@ public abstract class AbstractReplicated
getChannel().send(getMapMembers(), msg, getChannelSendOptions());
}
} catch ( ChannelException x ) {
- log.error("Unable to replicate out data for a LazyReplicatedMap.remove operation",x);
+ log.error(sm.getString("abstractReplicatedMap.unable.remove"),x);
}
return entry!=null?entry.getValue():null;
}
@@ -927,7 +931,7 @@ public abstract class AbstractReplicated
Response[] resp = getRpcChannel().send(entry.getBackupNodes(),msg, RpcChannel.FIRST_REPLY, Channel.SEND_OPTIONS_DEFAULT, getRpcTimeout());
if (resp == null || resp.length == 0) {
//no responses
- log.warn("Unable to retrieve remote object for key:" + key);
+ log.warn(sm.getString("abstractReplicatedMap.unable.retrieve", key));
return null;
}
msg = (MapMessage) resp[0].getMessage();
@@ -961,7 +965,7 @@ public abstract class AbstractReplicated
if ( getMapOwner()!=null ) getMapOwner().objectMadePrimary(key, entry.getValue());
} catch (Exception x) {
- log.error("Unable to replicate out data for a LazyReplicatedMap.get operation", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.get"), x);
return null;
}
}
@@ -1027,7 +1031,7 @@ public abstract class AbstractReplicated
entry.setBackupNodes(backup);
}
} catch (ChannelException x) {
- log.error("Unable to replicate out data for a LazyReplicatedMap.put operation", x);
+ log.error(sm.getString("abstractReplicatedMap.unable.put"), x);
}
innerMap.put(key,entry);
return old;
@@ -1080,7 +1084,7 @@ public abstract class AbstractReplicated
@Override
public Object clone() {
- throw new UnsupportedOperationException("This operation is not valid on a replicated map");
+ throw new UnsupportedOperationException(sm.getString("abstractReplicatedMap.unsupport.operation"));
}
/**
@@ -1416,7 +1420,7 @@ public abstract class AbstractReplicated
try {
return key(null);
} catch ( Exception x ) {
- throw new RuntimeException("Deserialization error of the MapMessage.key", x);
+ throw new RuntimeException(sm.getString("mapMessage.deserialize.error.key"), x);
}
}
@@ -1436,7 +1440,7 @@ public abstract class AbstractReplicated
try {
return value(null);
} catch ( Exception x ) {
- throw new RuntimeException("Deserialization error of the MapMessage.value", x);
+ throw new RuntimeException(sm.getString("mapMessage.deserialize.error.value"), x);
}
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java Thu May 21 10:14:50 2015
@@ -173,7 +173,7 @@ public class LazyReplicatedMap<K,V> exte
//we published out to a backup, mark the test success
success = true;
}catch ( ChannelException x ) {
- log.error("Unable to replicate backup key:"+key+" to backup:"+next+". Reason:"+x.getMessage(),x);
+ log.error(sm.getString("lazyReplicatedMap.unableReplicate.backup", key, next, x.getMessage()), x);
}
try {
//publish the data out to all nodes
@@ -189,7 +189,7 @@ public class LazyReplicatedMap<K,V> exte
//log the error, but proceed, this should only happen if a node went down,
//and if the node went down, then it can't receive the message, the others
//should still get it.
- log.error("Unable to replicate proxy key:"+key+" to backup:"+next+". Reason:"+x.getMessage(),x);
+ log.error(sm.getString("lazyReplicatedMap.unableReplicate.proxy", key, next, x.getMessage()), x);
}
} while ( !success && (firstIdx!=nextIdx));
return backup;
Added: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/LocalStrings.properties?rev=1680802&view=auto
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/LocalStrings.properties (added)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/LocalStrings.properties Thu May 21 10:14:50 2015
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+abstractReplicatedMap.init.start=Initializing AbstractReplicatedMap with context name:{0}
+abstractReplicatedMap.unableSend.startMessage=Unable to send map start message.
+abstractReplicatedMap.unableStart=Unable to start replicated map.
+abstractReplicatedMap.init.completed=AbstractReplicatedMap[{0}] initialization was completed in {1} ms.
+abstractReplicatedMap.broadcast.noReplies=broadcast received 0 replies, probably a timeout.
+abstractReplicatedMap.unable.diffObject=Unable to diff object. Will replicate the entire object instead.
+abstractReplicatedMap.unable.replicate=Unable to replicate data.
+abstractReplicatedMap.transferState.noReplies=Transfer state, 0 replies, probably a timeout.
+abstractReplicatedMap.unable.transferState=Unable to transfer LazyReplicatedMap state.
+abstractReplicatedMap.unable.deserialize.MapMessage=Unable to deserialize MapMessage.
+abstractReplicatedMap.unableApply.diff=Unable to apply diff to key:{0}
+abstractReplicatedMap.unableSelect.backup=Unable to select backup node.
+abstractReplicatedMap.member.disappeared=Member[{0}] disappeared. Related map entries will be relocated to the new node.
+abstractReplicatedMap.unable.relocate=Unable to relocate[{0}] to a new backup node
+abstractReplicatedMap.relocate.complete=Relocation of map entries was complete in {0} ms.
+abstractReplicatedMap.heartbeat.failed=Unable to send AbstractReplicatedMap.ping message
+abstractReplicatedMap.unable.remove=Unable to replicate out data for a LazyReplicatedMap.remove operation
+abstractReplicatedMap.unable.retrieve=Unable to retrieve remote object for key:{0}
+abstractReplicatedMap.unable.get=Unable to replicate out data for a LazyReplicatedMap.get operation
+abstractReplicatedMap.unable.put=Unable to replicate out data for a LazyReplicatedMap.put operation
+abstractReplicatedMap.unsupport.operation=This operation is not valid on a replicated map
+mapMessage.deserialize.error.key=Deserialization error of the MapMessage.key
+mapMessage.deserialize.error.value=Deserialization error of the MapMessage.value
+lazyReplicatedMap.unableReplicate.backup=Unable to replicate backup key:{0} to backup:{1}. Reason:{2}
+lazyReplicatedMap.unableReplicate.proxy=Unable to replicate proxy key:{0} to backup:{1}. Reason:{2}
+replicatedMap.member.disappeared=Member[{0}] disappeared. Related map entries will be relocated to the new node.
+replicatedMap.unable.relocate=Unable to relocate[{0}] to a new backup node
+replicatedMap.relocate.complete=Relocation of map entries was complete in {0} ms.
\ No newline at end of file
Propchange: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/LocalStrings.properties
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java Thu May 21 10:14:50 2015
@@ -151,7 +151,7 @@ public class ReplicatedMap<K,V> extends
}
}
if (log.isInfoEnabled())
- log.info("Member["+member+"] disappeared. Related map entries will be relocated to the new node.");
+ log.info(sm.getString("replicatedMap.member.disappeared", member));
long start = System.currentTimeMillis();
Iterator<Map.Entry<K,MapEntry<K,V>>> i = innerMap.entrySet().iterator();
while (i.hasNext()) {
@@ -169,7 +169,7 @@ public class ReplicatedMap<K,V> extends
entry.setBackupNodes(backup);
entry.setPrimary(channel.getLocalMember(false));
} catch (ChannelException x) {
- log.error("Unable to relocate[" + entry.getKey() + "] to a new backup node", x);
+ log.error(sm.getString("replicatedMap.unable.relocate", entry.getKey()), x);
}
} else if (member.equals(entry.getPrimary())) {
entry.setPrimary(null);
@@ -195,13 +195,13 @@ public class ReplicatedMap<K,V> extends
if ( mapOwner!=null ) mapOwner.objectMadePrimary(entry.getKey(),entry.getValue());
} catch (ChannelException x) {
- log.error("Unable to relocate[" + entry.getKey() + "] to a new backup node", x);
+ log.error(sm.getString("replicatedMap.unable.relocate", entry.getKey()), x);
}
}
} //while
long complete = System.currentTimeMillis() - start;
- if (log.isInfoEnabled()) log.info("Relocation of map entries was complete in " + complete + " ms.");
+ if (log.isInfoEnabled()) log.info(sm.getString("replicatedMap.relocate.complete", complete));
}
@Override
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties Thu May 21 10:14:50 2015
@@ -13,24 +13,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-IDataSender.ack.eof=EOF reached at local port [{0}:{1,number,integer}]
-IDataSender.ack.missing=Unable to read acknowledgement from [{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again.
-IDataSender.ack.wrong=Missing correct ACK after 10 bytes read at local port [{0}:{1,number,integer}]
-IDataSender.closeSocket=Sender close socket to [{0}:{1,number,integer}] (close count {2,number,integer})
-IDataSender.disconnect=Sender disconnect from [{0}:{1,number,integer}] (disconnect count {2,number,integer})
-IDataSender.openSocket=Sender open socket to [{0}:{1,number,integer}] (open count {2,number,integer})
-IDataSender.openSocket.failure=Open sender socket [{0}:{1,number,integer}] failure! (open failure count {2,number,integer})
-IDataSender.send.again=Send data again to [{0}:{1,number,integer}]
-
-NioReceiver.alreadyStarted=ServerSocketChannel already started
-NioReceiver.cleanup.fail=Unable to cleanup on selector close
-NioReceiver.clientDisconnect=Replication client disconnected, error when polling key. Ignoring client.
-NioReceiver.requestError=Unable to process request in NioReceiver
-NioReceiver.run.fail=Unable to run replication listener
-NioReceiver.start.fail=Unable to start cluster receiver
-NioReceiver.stop.fail=Unable to close cluster receiver selector
-NioReceiver.stop.threadRunning=The NioReceiver thread did not stop in a timely manner. Errors may be observed when the selector is closed.
-NioReceiver.threadpool.fail=ThreadPool cannot be initialized. Listener not started.
-NioReceiver.threadsExhausted=Channel key is registered, but has had no interest ops for the last [{0}] ms. (cancelled: [{1}]):[{2}] last access:[{3} Possible cause: all threads used, perform thread dump
-
+pooledSender.closed.queue=Queue is closed
PooledSender.senderDisconnectFail=Failed to disconnect sender
+receiverBase.bind.failed=Failed bind replication listener on address:{0}
+receiverBase.socket.bind=Receiver Server Socket bound to:{0}
+receiverBase.unable.bind=Unable to bind server socket to:{0} throwing error.
+receiverBase.udp.bind=UDP Receiver Server Socket bound to:{0}
+receiverBase.unable.bind.udp=Unable to bind UDP socket to:{0} throwing error.
\ No newline at end of file
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties Thu May 21 10:14:50 2015
@@ -12,12 +12,12 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-IDataSender.ack.eof = EOF alcanzado en puerto local [{0}\:{1,number,integer}]
-IDataSender.ack.missing = No puedo leer reconocimiento desde [{0}\:{1,number,integer}] en {2,number,integer} ms. Desconectando conector e intentando otra vez.
-IDataSender.ack.wrong = Falta ACK correcto tras 10 bytes le\u00EDdos en puerto local [{0}\:{1,number,integer}]
-IDataSender.closeSocket = El remitente cerr\u00F3 el conector con [{0}\:{1,number,integer}] (contador de cierre {2,number,integer})
-IDataSender.disconnect = Remitente desconectado de [{0}\:{1,number,integer}] (contador de desconexi\u00F3n {2,number,integer})
-IDataSender.openSocket = Remitente abri\u00F3 conector con [{0}\:{1,number,integer}] (contador de apertura {2,number,integer})
-IDataSender.openSocket.failure = \u00A1No pude abrir conector de remitente [{0}\:{1,number,integer}]\! (contador de fallo de apertura {2,number,integer})
-IDataSender.send.again = Enviar datos de nuevo a [{0}\:{1,number,integer}]
+bioSender.ack.eof = EOF alcanzado en puerto local [{0}\:{1,number,integer}]
+bioSender.ack.missing = No puedo leer reconocimiento desde [{0}\:{1,number,integer}] en {2,number,integer} ms. Desconectando conector e intentando otra vez.
+bioSender.ack.wrong = Falta ACK correcto tras 10 bytes le\u00EDdos en puerto local [{0}\:{1,number,integer}]
+bioSender.closeSocket = El remitente cerr\u00F3 el conector con [{0}\:{1,number,integer}] (contador de cierre {2,number,integer})
+bioSender.disconnect = Remitente desconectado de [{0}\:{1,number,integer}] (contador de desconexi\u00F3n {2,number,integer})
+bioSender.openSocket = Remitente abri\u00F3 conector con [{0}\:{1,number,integer}] (contador de apertura {2,number,integer})
+bioSender.openSocket.failure = \u00A1No pude abrir conector de remitente [{0}\:{1,number,integer}]\! (contador de fallo de apertura {2,number,integer})
+bioSender.send.again = Enviar datos de nuevo a [{0}\:{1,number,integer}]
PooledSender.senderDisconnectFail = No pude desconectar al remitente
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java Thu May 21 10:14:50 2015
@@ -27,8 +27,7 @@ import org.apache.juli.logging.LogFactor
public abstract class PooledSender extends AbstractSender implements MultiPointSender {
private static final Log log = LogFactory.getLog(PooledSender.class);
- protected static final StringManager sm =
- StringManager.getManager(Constants.Package);
+ protected static final StringManager sm = StringManager.getManager(Constants.Package);
private final SenderQueue queue;
private int poolSize = 25;
@@ -160,7 +159,7 @@ public abstract class PooledSender exten
public synchronized DataSender getSender(long timeout) {
long start = System.currentTimeMillis();
while ( true ) {
- if (!isOpen)throw new IllegalStateException("Queue is closed");
+ if (!isOpen)throw new IllegalStateException(sm.getString("pooledSender.closed.queue"));
DataSender sender = null;
if (notinuse.size() == 0 && inuse.size() < limit) {
sender = parent.getNewDataSender();
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java Thu May 21 10:14:50 2015
@@ -31,6 +31,7 @@ import org.apache.catalina.tribes.Channe
import org.apache.catalina.tribes.MessageListener;
import org.apache.catalina.tribes.io.ListenCallback;
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;
@@ -42,6 +43,8 @@ public abstract class ReceiverBase imple
private static final Object bindLock = new Object();
+ protected static final StringManager sm = StringManager.getManager(Constants.Package);
+
private MessageListener listener;
private String host = "auto";
private InetAddress bind;
@@ -157,7 +160,7 @@ public abstract class ReceiverBase imple
log.debug("Starting replication listener on address:"+ host);
bind = java.net.InetAddress.getByName(host);
} catch (IOException ioe) {
- log.error("Failed bind replication listener on address:"+ host, ioe);
+ log.error(sm.getString("receiverBase.bind.failed", host), ioe);
}
}
return bind;
@@ -183,13 +186,12 @@ public abstract class ReceiverBase imple
addr = new InetSocketAddress(getBind(), port);
socket.bind(addr);
setPort(port);
- log.info("Receiver Server Socket bound to:"+addr);
+ log.info(sm.getString("receiverBase.socket.bind", addr));
retries = 0;
} catch ( IOException x) {
retries--;
if ( retries <= 0 ) {
- log.info("Unable to bind server socket to:" + addr +
- " throwing error.");
+ log.info(sm.getString("receiverBase.unable.bind", addr));
throw x;
}
port++;
@@ -213,12 +215,12 @@ public abstract class ReceiverBase imple
addr = new InetSocketAddress(getBind(), portstart);
socket.bind(addr);
setUdpPort(portstart);
- log.info("UDP Receiver Server Socket bound to:"+addr);
+ log.info(sm.getString("receiverBase.udp.bind", addr));
return 0;
}catch ( IOException x) {
retries--;
if ( retries <= 0 ) {
- log.info("Unable to bind UDP socket to:"+addr+" throwing error.");
+ log.info(sm.getString("receiverBase.unable.bind.udp", addr));
throw x;
}
portstart++;
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioReceiver.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioReceiver.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioReceiver.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioReceiver.java Thu May 21 10:14:50 2015
@@ -24,6 +24,7 @@ import org.apache.catalina.tribes.io.Obj
import org.apache.catalina.tribes.transport.AbstractRxTask;
import org.apache.catalina.tribes.transport.ReceiverBase;
import org.apache.catalina.tribes.transport.RxTaskPool;
+import org.apache.catalina.tribes.util.StringManager;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -31,6 +32,9 @@ public class BioReceiver extends Receive
private static final Log log = LogFactory.getLog(BioReceiver.class);
+ protected static final StringManager sm =
+ StringManager.getManager(BioReceiver.class.getPackage().getName());
+
protected ServerSocket serverSocket;
public BioReceiver() {
@@ -43,7 +47,7 @@ public class BioReceiver extends Receive
try {
setPool(new RxTaskPool(getMaxThreads(),getMinThreads(),this));
} catch (Exception x) {
- log.fatal("ThreadPool can initilzed. Listener not started", x);
+ log.fatal(sm.getString("bioReceiver.threadpool.fail"), x);
if ( x instanceof IOException ) throw (IOException)x;
else throw new IOException(x.getMessage());
}
@@ -54,7 +58,7 @@ public class BioReceiver extends Receive
t.setDaemon(true);
t.start();
} catch (Exception x) {
- log.fatal("Unable to start cluster receiver", x);
+ log.fatal(sm.getString("bioReceiver.start.fail"), x);
if ( x instanceof IOException ) throw (IOException)x;
else throw new IOException(x.getMessage());
}
@@ -79,7 +83,7 @@ public class BioReceiver extends Receive
this.serverSocket.close();
} catch (Exception x) {
if (log.isDebugEnabled()) {
- log.debug("Failed to close socket", x);
+ log.debug(sm.getString("bioReceiver.socket.closeFailed"), x);
}
}
super.stop();
@@ -100,13 +104,13 @@ public class BioReceiver extends Receive
try {
listen();
} catch (Exception x) {
- log.error("Unable to run replication listener.", x);
+ log.error(sm.getString("bioReceiver.run.fail"), x);
}
}
public void listen() throws Exception {
if (doListen()) {
- log.warn("ServerSocket already started");
+ log.warn(sm.getString("bioReceiver.already.started"));
return;
}
setListen(true);
@@ -115,7 +119,7 @@ public class BioReceiver extends Receive
Socket socket = null;
if ( getTaskPool().available() < 1 ) {
if ( log.isWarnEnabled() )
- log.warn("All BIO server replication threads are busy, unable to handle more requests until a thread is freed up.");
+ log.warn(sm.getString("bioReceiver.threads.busy"));
}
BioReplicationTask task = (BioReplicationTask)getTaskPool().getRxTask();
if ( task == null ) continue; //should never happen
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioReplicationTask.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioReplicationTask.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioReplicationTask.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioReplicationTask.java Thu May 21 10:14:50 2015
@@ -28,6 +28,7 @@ import org.apache.catalina.tribes.io.Lis
import org.apache.catalina.tribes.io.ObjectReader;
import org.apache.catalina.tribes.transport.AbstractRxTask;
import org.apache.catalina.tribes.transport.Constants;
+import org.apache.catalina.tribes.util.StringManager;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -43,9 +44,11 @@ import org.apache.juli.logging.LogFactor
*/
public class BioReplicationTask extends AbstractRxTask {
-
private static final Log log = LogFactory.getLog( BioReplicationTask.class );
+ protected static final StringManager sm =
+ StringManager.getManager(BioReplicationTask.class.getPackage().getName());
+
protected Socket socket;
protected ObjectReader reader;
@@ -61,20 +64,20 @@ public class BioReplicationTask extends
try {
drainSocket();
} catch ( Exception x ) {
- log.error("Unable to service bio socket", x);
+ log.error(sm.getString("bioReplicationTask.unable.service"), x);
}finally {
try {
socket.close();
}catch (Exception e) {
if (log.isDebugEnabled()) {
- log.debug("Failed to close socket", e);
+ log.debug(sm.getString("bioReplicationTask.socket.closeFailed"), e);
}
}
try {
reader.close();
}catch (Exception e) {
if (log.isDebugEnabled()) {
- log.debug("Failed to close reader", e);
+ log.debug(sm.getString("bioReplicationTask.reader.closeFailed"), e);
}
}
reader = null;
@@ -113,7 +116,7 @@ public class BioReplicationTask extends
if (ChannelData.sendAckSync(msgs[i].getOptions())) sendAck(Constants.ACK_COMMAND);
}catch ( Exception x ) {
if (ChannelData.sendAckSync(msgs[i].getOptions())) sendAck(Constants.FAIL_ACK_COMMAND);
- log.error("Error thrown from messageDataReceived.",x);
+ log.error(sm.getString("bioReplicationTask.messageDataReceived.error"),x);
}
if ( getUseBufferPool() ) {
BufferPool.getBufferPool().returnBuffer(msgs[i].getMessage());
@@ -159,7 +162,7 @@ public class BioReplicationTask extends
log.trace("ACK sent to " + socket.getPort());
}
} catch ( java.io.IOException x ) {
- log.warn("Unable to send ACK back through channel, channel disconnected?: "+x.getMessage());
+ log.warn(sm.getString("bioReplicationTask.unable.sendAck", x.getMessage()));
}
}
@@ -170,14 +173,14 @@ public class BioReplicationTask extends
socket.close();
}catch (Exception e) {
if (log.isDebugEnabled()) {
- log.debug("Failed to close socket", e);
+ log.debug(sm.getString("bioReplicationTask.socket.closeFailed"), e);
}
}
try {
reader.close();
}catch (Exception e) {
if (log.isDebugEnabled()) {
- log.debug("Failed to close reader", e);
+ log.debug(sm.getString("bioReplicationTask.reader.closeFailed"), e);
}
}
reader = null;
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java Thu May 21 10:14:50 2015
@@ -45,7 +45,8 @@ public class BioSender extends AbstractS
/**
* The string manager for this package.
*/
- protected static final StringManager sm = StringManager.getManager(Constants.Package);
+ protected static final StringManager sm =
+ StringManager.getManager(BioSender.class.getPackage().getName());
// ----------------------------------------------------- Instance Variables
@@ -90,7 +91,7 @@ public class BioSender extends AbstractS
closeSocket();
if (connect) {
if (log.isDebugEnabled())
- log.debug(sm.getString("IDataSender.disconnect", getAddress().getHostAddress(), new Integer(getPort()), new Long(0)));
+ log.debug(sm.getString("bioSender.disconnect", getAddress().getHostAddress(), new Integer(getPort()), new Long(0)));
}
}
@@ -107,7 +108,7 @@ public class BioSender extends AbstractS
} catch (IOException x) {
SenderState.getSenderState(getDestination()).setSuspect();
exception = x;
- if (log.isTraceEnabled()) log.trace(sm.getString("IDataSender.send.again", getAddress().getHostAddress(),new Integer(getPort())),x);
+ if (log.isTraceEnabled()) log.trace(sm.getString("bioSender.send.again", getAddress().getHostAddress(),new Integer(getPort())),x);
while ( getAttempt()<getMaxRetryAttempts() ) {
try {
setAttempt(getAttempt()+1);
@@ -165,11 +166,11 @@ public class BioSender extends AbstractS
setRequestCount(0);
setConnectTime(System.currentTimeMillis());
if (log.isDebugEnabled())
- log.debug(sm.getString("IDataSender.openSocket", getAddress().getHostAddress(), new Integer(getPort()), new Long(0)));
+ log.debug(sm.getString("bioSender.openSocket", getAddress().getHostAddress(), new Integer(getPort()), new Long(0)));
} catch (IOException ex1) {
SenderState.getSenderState(getDestination()).setSuspect();
if (log.isDebugEnabled())
- log.debug(sm.getString("IDataSender.openSocket.failure",getAddress().getHostAddress(), new Integer(getPort()),new Long(0)), ex1);
+ log.debug(sm.getString("bioSender.openSocket.failure",getAddress().getHostAddress(), new Integer(getPort()),new Long(0)), ex1);
throw (ex1);
}
@@ -196,7 +197,7 @@ public class BioSender extends AbstractS
setRequestCount(0);
setConnected(false);
if (log.isDebugEnabled())
- log.debug(sm.getString("IDataSender.closeSocket",getAddress().getHostAddress(), new Integer(getPort()),new Long(0)));
+ log.debug(sm.getString("bioSender.closeSocket",getAddress().getHostAddress(), new Integer(getPort()),new Long(0)));
}
}
@@ -256,13 +257,13 @@ public class BioSender extends AbstractS
i = soIn.read();
}
if (!ackReceived) {
- if (i == -1) throw new IOException(sm.getString("IDataSender.ack.eof",getAddress(), new Integer(socket.getLocalPort())));
- else throw new IOException(sm.getString("IDataSender.ack.wrong",getAddress(), new Integer(socket.getLocalPort())));
+ if (i == -1) throw new IOException(sm.getString("bioSender.ack.eof",getAddress(), new Integer(socket.getLocalPort())));
+ else throw new IOException(sm.getString("bioSender.ack.wrong",getAddress(), new Integer(socket.getLocalPort())));
} else if ( failAckReceived && getThrowOnFailedAck()) {
- throw new RemoteProcessException("Received a failed ack:org.apache.catalina.tribes.transport.Constants.FAIL_ACK_DATA");
+ throw new RemoteProcessException(sm.getString("bioSender.fail.AckReceived"));
}
} catch (IOException x) {
- String errmsg = sm.getString("IDataSender.ack.missing", getAddress(),new Integer(socket.getLocalPort()), new Long(getTimeout()));
+ String errmsg = sm.getString("bioSender.ack.missing", getAddress(),new Integer(socket.getLocalPort()), new Long(getTimeout()));
if ( SenderState.getSenderState(getDestination()).isReady() ) {
SenderState.getSenderState(getDestination()).setSuspect();
if ( log.isWarnEnabled() ) log.warn(errmsg, x);
Added: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties?rev=1680802&view=auto
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties (added)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties Thu May 21 10:14:50 2015
@@ -0,0 +1,37 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bioReceiver.threadpool.fail=ThreadPool can initilzed. Listener not started
+bioReceiver.start.fail=Unable to start cluster receiver
+bioReceiver.socket.closeFailed=Failed to close socket
+bioReceiver.run.fail=Unable to run replication listener.
+bioReceiver.already.started=ServerSocket already started
+bioReceiver.threads.busy=All BIO server replication threads are busy, unable to handle more requests until a thread is freed up.
+bioReplicationTask.unable.service=Unable to service bio socket
+bioReplicationTask.socket.closeFailed=Failed to close socket
+bioReplicationTask.reader.closeFailed=Failed to close reader
+bioReplicationTask.messageDataReceived.error=Error thrown from messageDataReceived.
+bioReplicationTask.unable.sendAck=Unable to send ACK back through channel, channel disconnected?: {0}
+bioSender.disconnect=Sender disconnect from [{0}:{1,number,integer}] (disconnect count {2,number,integer})
+bioSender.send.again=Send data again to [{0}:{1,number,integer}]
+bioSender.openSocket=Sender open socket to [{0}:{1,number,integer}] (open count {2,number,integer})
+bioSender.openSocket.failure=Open sender socket [{0}:{1,number,integer}] failure! (open failure count {2,number,integer})
+bioSender.closeSocket=Sender close socket to [{0}:{1,number,integer}] (close count {2,number,integer})
+bioSender.ack.eof=EOF reached at local port [{0}:{1,number,integer}]
+bioSender.ack.wrong=Missing correct ACK after 10 bytes read at local port [{0}:{1,number,integer}]
+bioSender.fail.AckReceived=Received a failed ack:org.apache.catalina.tribes.transport.Constants.FAIL_ACK_DATA
+bioSender.ack.missing=Unable to read acknowledgement from [{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again.
+pooledMultiSender.unable.retrieve.sender=Unable to retrieve a data sender, time out{0} ms) error.
+pooledMultiSender.retrieve.fail=Unable to retrieve a sender from the sender pool
\ No newline at end of file
Propchange: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java Thu May 21 10:14:50 2015
@@ -23,9 +23,12 @@ import org.apache.catalina.tribes.transp
import org.apache.catalina.tribes.transport.DataSender;
import org.apache.catalina.tribes.transport.MultiPointSender;
import org.apache.catalina.tribes.transport.PooledSender;
+import org.apache.catalina.tribes.util.StringManager;
public class PooledMultiSender extends PooledSender {
+ protected static final StringManager sm =
+ StringManager.getManager(PooledMultiSender.class.getPackage().getName());
public PooledMultiSender() {
// NO-OP
@@ -37,8 +40,9 @@ public class PooledMultiSender extends P
try {
sender = (MultiPointSender)getSender();
if (sender == null) {
- ChannelException cx = new ChannelException("Unable to retrieve a data sender, time out("+getMaxWait()+" ms) error.");
- for (int i = 0; i < destination.length; i++) cx.addFaultyMember(destination[i], new NullPointerException("Unable to retrieve a sender from the sender pool"));
+ ChannelException cx = new ChannelException(sm.getString("pooledMultiSender.unable.retrieve.sender", getMaxWait()));
+ for (int i = 0; i < destination.length; i++)
+ cx.addFaultyMember(destination[i], new NullPointerException(sm.getString("pooledMultiSender.retrieve.fail")));
throw cx;
} else {
sender.sendMessage(destination, msg);
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java Thu May 21 10:14:50 2015
@@ -22,6 +22,9 @@ import java.util.concurrent.atomic.Atomi
import org.apache.catalina.tribes.ChannelMessage;
import org.apache.catalina.tribes.Member;
import org.apache.catalina.tribes.group.InterceptorPayload;
+import org.apache.catalina.tribes.util.StringManager;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
@@ -29,12 +32,13 @@ import org.apache.catalina.tribes.group.
* A fast queue that remover thread lock the adder thread. <br>Limit the queue
* length when you have strange producer thread problems.
*
- * FIXME add i18n support to log messages
* @author Peter Rossbach
*/
public class FastQueue {
- private static final org.apache.juli.logging.Log log = org.apache.juli.logging.LogFactory.getLog(FastQueue.class);
+ private static final Log log = LogFactory.getLog(FastQueue.class);
+ protected static final StringManager sm =
+ StringManager.getManager(FastQueue.class.getPackage().getName());
/**
* This is the actual queue
@@ -195,7 +199,7 @@ public class FastQueue {
if (!enabled) {
if (log.isInfoEnabled())
- log.info("FastQueue.add: queue disabled, add aborted");
+ log.info(sm.getString("fastQueue.queue.disabled"));
return false;
}
@@ -218,7 +222,7 @@ public class FastQueue {
} else {
if (last == null) {
ok = false;
- log.error("FastQueue.add: Could not add, since last is null although size is "+ size.get() + " (>0)");
+ log.error(sm.getString("fastQueue.last.null", size.get()));
} else {
last.append(element);
last = element;
@@ -228,10 +232,10 @@ public class FastQueue {
}
if (first == null) {
- log.error("FastQueue.add: first is null, size is " + size.get() + " at end of add");
+ log.error(sm.getString("fastQueue.first.null", size.get()));
}
if (last == null) {
- log.error("FastQueue.add: last is null, size is " + size.get() + " at end of add");
+ log.error(sm.getString("fastQueue.last.null.end", size.get()));
}
if (log.isTraceEnabled()) log.trace("FastQueue.add: add ending with size " + size.get());
@@ -252,7 +256,7 @@ public class FastQueue {
if (!enabled) {
if (log.isInfoEnabled())
- log.info("FastQueue.remove: queue disabled, remove aborted");
+ log.info(sm.getString("fastQueue.remove.queue.disabled"));
return null;
}
@@ -262,10 +266,10 @@ public class FastQueue {
if (!gotLock) {
if (enabled) {
if (log.isInfoEnabled())
- log.info("FastQueue.remove: Remove aborted although queue enabled");
+ log.info(sm.getString("fastQueue.remove.aborted"));
} else {
if (log.isInfoEnabled())
- log.info("FastQueue.remove: queue disabled, remove aborted");
+ log.info(sm.getString("fastQueue.remove.queue.disabled"));
}
return null;
}
Added: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/util/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/util/LocalStrings.properties?rev=1680802&view=auto
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/util/LocalStrings.properties (added)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/util/LocalStrings.properties Thu May 21 10:14:50 2015
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+fastQueue.queue.disabled=FastQueue.add: queue disabled, add aborted
+fastQueue.last.null=FastQueue.add: Could not add, since last is null although size is {0} (>0)
+fastQueue.first.null=FastQueue.add: first is null, size is {0} at end of add
+fastQueue.last.null.end=FastQueue.add: last is null, size is {0} at end of add
+fastQueue.remove.queue.disabled=FastQueue.remove: queue disabled, remove aborted
+fastQueue.remove.aborted=FastQueue.remove: Remove aborted although queue enabled
\ No newline at end of file
Propchange: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/util/LocalStrings.properties
------------------------------------------------------------------------------
svn:eol-style = native
Added: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties?rev=1680802&view=auto
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties (added)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties Thu May 21 10:14:50 2015
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+nioReceiver.alreadyStarted=ServerSocketChannel already started
+nioReceiver.cleanup.fail=Unable to cleanup on selector close
+nioReceiver.clientDisconnect=Replication client disconnected, error when polling key. Ignoring client.
+nioReceiver.requestError=Unable to process request in NioReceiver
+nioReceiver.run.fail=Unable to run replication listener
+nioReceiver.start.fail=Unable to start cluster receiver
+nioReceiver.stop.fail=Unable to close cluster receiver selector
+nioReceiver.stop.threadRunning=The NioReceiver thread did not stop in a timely manner. Errors may be observed when the selector is closed.
+nioReceiver.threadpool.fail=ThreadPool cannot be initialized. Listener not started.
+nioReceiver.threadsExhausted=Channel key is registered, but has had no interest ops for the last [{0}] ms. (cancelled: [{1}]):[{2}] last access:[{3} Possible cause: all threads used, perform thread dump
+nioReplicationTask.unable.drainChannel.ioe=IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed[{0}].
+nioReplicationTask.exception.drainChannel=Exception caught in TcpReplicationThread.drainChannel.
+nioReplicationTask.process.clusterMsg.failed=Processing of cluster message failed.
+nioReplicationTask.error.register.key=Error registering key for read:{0}
+nioReplicationTask.unable.ack=Unable to send ACK back through channel, channel disconnected?: {0}
+nioSender.sender.disconnected=Sender has been disconnected, can't selection key.
+nioSender.key.inValid=Key is not valid, it must have been cancelled.
+nioSender.unknown.state=Data is in unknown state. readyOps={0}
+nioSender.unable.receive.ack=Unable to receive an ack message. EOF on socket channel has been reached.
+nioSender.receive.failedAck=Received a failed ack:org.apache.catalina.tribes.transport.Constants.FAIL_ACK_DATA
+nioSender.not.connected=NioSender is not connected, this should not occur.
+nioSender.already.connected=NioSender is already in connected state.
+nioSender.datagram.already.established=Datagram channel has already been established. Connection might be in progress.
+nioSender.socketChannel.already.established=Socket channel has already been established. Connection might be in progress.
+nioSender.unable.disconnect=Unable to disconnect NioSender. msg={0}
+parallelNioSender.send.failed=Parallel NIO send failed.
+parallelNioSender.operation.timedout=Operation has timed out({0} ms.).
+parallelNioSender.send.fail.retrying=Member send is failing for:{0} ; Setting to suspect and retrying.
+parallelNioSender.send.fail=Member send is failing for:{0} ; Setting to suspect.
+parallelNioSender.sender.disconnected.notRetry=Not retrying send for:{0}; Sender is disconnected.
+parallelNioSender.sender.disconnected.sendFailed=Send failed, and sender is disconnected. Not retrying.
+parallelNioSender.sendFailed.attempt=Send failed, attempt:{0} max:{1}
+parallelNioSender.unable.setup.NioSender=Unable to setup NioSender.
+parallelNioSender.error.keepalive=Error during keepalive test for sender:{0}
+pooledParallelSender.sender.disconnected=Sender not connected.
+pooledParallelSender.unable.retrieveSender.timeout=Unable to retrieve a data sender, time out({0} ms) error.
+pooledParallelSender.unable.retrieveSender=Unable to retrieve a sender from the sender pool
+pooledParallelSender.unable.open=Unable to open NIO selector.
\ No newline at end of file
Propchange: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Thu May 21 10:14:50 2015
@@ -34,7 +34,6 @@ import java.util.concurrent.atomic.Atomi
import org.apache.catalina.tribes.io.ObjectReader;
import org.apache.catalina.tribes.transport.AbstractRxTask;
-import org.apache.catalina.tribes.transport.Constants;
import org.apache.catalina.tribes.transport.ReceiverBase;
import org.apache.catalina.tribes.transport.RxTaskPool;
import org.apache.catalina.tribes.util.ExceptionUtils;
@@ -50,7 +49,7 @@ public class NioReceiver extends Receive
* The string manager for this package.
*/
protected static final StringManager sm =
- StringManager.getManager(Constants.Package);
+ StringManager.getManager(NioReceiver.class.getPackage().getName());
private volatile boolean running = false;
@@ -80,7 +79,7 @@ public class NioReceiver extends Receive
try {
setPool(new RxTaskPool(getMaxThreads(),getMinThreads(),this));
} catch (Exception x) {
- log.fatal(sm.getString("NioReceiver.threadpool.fail"), x);
+ log.fatal(sm.getString("nioReceiver.threadpool.fail"), x);
if ( x instanceof IOException ) throw (IOException)x;
else throw new IOException(x.getMessage());
}
@@ -91,7 +90,7 @@ public class NioReceiver extends Receive
t.setDaemon(true);
t.start();
} catch (Exception x) {
- log.fatal(sm.getString("NioReceiver.start.fail"), x);
+ log.fatal(sm.getString("nioReceiver.start.fail"), x);
if ( x instanceof IOException ) throw (IOException)x;
else throw new IOException(x.getMessage());
}
@@ -216,7 +215,7 @@ public class NioReceiver extends Receive
if (delta > getTimeout() && (!ka.isAccessed())) {
if (log.isWarnEnabled())
log.warn(sm.getString(
- "NioReceiver.threadsExhausted",
+ "nioReceiver.threadsExhausted",
Integer.valueOf(getTimeout()),
Boolean.valueOf(ka.isCancelled()),
key,
@@ -244,7 +243,7 @@ public class NioReceiver extends Receive
*/
protected void listen() throws Exception {
if (doListen()) {
- log.warn(sm.getString("NioReceiver.alreadyStarted"));
+ log.warn(sm.getString("nioReceiver.alreadyStarted"));
return;
}
@@ -314,10 +313,10 @@ public class NioReceiver extends Receive
} catch (java.nio.channels.ClosedSelectorException cse) {
// ignore is normal at shutdown or stop listen socket
} catch (java.nio.channels.CancelledKeyException nx) {
- log.warn(sm.getString("NioReceiver.clientDisconnect"));
+ log.warn(sm.getString("nioReceiver.clientDisconnect"));
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
- log.error(sm.getString("NioReceiver.requestError"), t);
+ log.error(sm.getString("nioReceiver.requestError"), t);
}
}
@@ -354,11 +353,11 @@ public class NioReceiver extends Receive
count ++;
}
if (running) {
- log.warn(sm.getString("NioReceiver.stop.threadRunning"));
+ log.warn(sm.getString("nioReceiver.stop.threadRunning"));
}
closeSelector();
} catch (Exception x) {
- log.error(sm.getString("NioReceiver.stop.fail"), x);
+ log.error(sm.getString("nioReceiver.stop.fail"), x);
} finally {
this.selector.set(null);
}
@@ -379,7 +378,7 @@ public class NioReceiver extends Receive
}
} catch (IOException ignore){
if (log.isWarnEnabled()) {
- log.warn(sm.getString("NioReceiver.cleanup.fail"), ignore);
+ log.warn(sm.getString("nioReceiver.cleanup.fail"), ignore);
}
} catch (ClosedSelectorException ignore){
// Ignore
@@ -419,7 +418,7 @@ public class NioReceiver extends Receive
try {
listen();
} catch (Exception x) {
- log.error(sm.getString("NioReceiver.run.fail"), x);
+ log.error(sm.getString("nioReceiver.run.fail"), x);
} finally {
running = false;
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java Thu May 21 10:14:50 2015
@@ -37,6 +37,9 @@ import org.apache.catalina.tribes.io.Obj
import org.apache.catalina.tribes.transport.AbstractRxTask;
import org.apache.catalina.tribes.transport.Constants;
import org.apache.catalina.tribes.util.Logs;
+import org.apache.catalina.tribes.util.StringManager;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
/**
* A worker thread class which can drain channels and echo-back the input. Each
@@ -50,7 +53,9 @@ import org.apache.catalina.tribes.util.L
*/
public class NioReplicationTask extends AbstractRxTask {
- private static final org.apache.juli.logging.Log log = org.apache.juli.logging.LogFactory.getLog( NioReplicationTask.class );
+ private static final Log log = LogFactory.getLog( NioReplicationTask.class );
+ protected static final StringManager sm =
+ StringManager.getManager(NioReplicationTask.class.getPackage().getName());
private ByteBuffer buffer = null;
private SelectionKey key;
@@ -104,10 +109,10 @@ public class NioReplicationTask extends
} else if ( e instanceof IOException ) {
//dont spew out stack traces for IO exceptions unless debug is enabled.
if (log.isDebugEnabled()) log.debug ("IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed["+e.getMessage()+"].", e);
- else log.warn ("IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed["+e.getMessage()+"].");
+ else log.warn (sm.getString("nioReplicationTask.unable.drainChannel.ioe", e.getMessage()));
} else if ( log.isErrorEnabled() ) {
//this is a real error, log it.
- log.error("Exception caught in TcpReplicationThread.drainChannel.",e);
+ log.error(sm.getString("nioReplicationTask.exception.drainChannel"),e);
}
cancelKey(key);
}
@@ -211,10 +216,10 @@ public class NioReplicationTask extends
*/
if (ChannelData.sendAckSync(msgs[i].getOptions())) sendAck(key,(WritableByteChannel)channel,Constants.ACK_COMMAND,saddr);
}catch ( RemoteProcessException e ) {
- if ( log.isDebugEnabled() ) log.error("Processing of cluster message failed.",e);
+ if ( log.isDebugEnabled() ) log.error(sm.getString("nioReplicationTask.process.clusterMsg.failed"),e);
if (ChannelData.sendAckSync(msgs[i].getOptions())) sendAck(key,(WritableByteChannel)channel,Constants.FAIL_ACK_COMMAND,saddr);
}catch ( Exception e ) {
- log.error("Processing of cluster message failed.",e);
+ log.error(sm.getString("nioReplicationTask.process.clusterMsg.failed"),e);
if (ChannelData.sendAckSync(msgs[i].getOptions())) sendAck(key,(WritableByteChannel)channel,Constants.FAIL_ACK_COMMAND,saddr);
}
if ( getUseBufferPool() ) {
@@ -259,7 +264,7 @@ public class NioReplicationTask extends
log.trace("CKX Cancelling key:"+key);
} catch (Exception x) {
- log.error("Error registering key for read:"+key,x);
+ log.error(sm.getString("nioReplicationTask.error.register.key", key),x);
}
}
};
@@ -318,7 +323,7 @@ public class NioReplicationTask extends
((DatagramChannel)channel).socket().getInetAddress()));
}
} catch ( java.io.IOException x ) {
- log.warn("Unable to send ACK back through channel, channel disconnected?: "+x.getMessage());
+ log.warn(sm.getString("nioReplicationTask.unable.ack", x.getMessage()));
}
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java Thu May 21 10:14:50 2015
@@ -30,6 +30,7 @@ import java.util.Arrays;
import org.apache.catalina.tribes.RemoteProcessException;
import org.apache.catalina.tribes.io.XByteBuffer;
import org.apache.catalina.tribes.transport.AbstractSender;
+import org.apache.catalina.tribes.util.StringManager;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -49,7 +50,8 @@ import org.apache.juli.logging.LogFactor
public class NioSender extends AbstractSender {
private static final Log log = LogFactory.getLog(NioSender.class);
-
+ protected static final StringManager sm =
+ StringManager.getManager(NioSender.class.getPackage().getName());
protected Selector selector;
@@ -83,8 +85,8 @@ public class NioSender extends AbstractS
int ops = key.readyOps();
key.interestOps(key.interestOps() & ~ops);
//in case disconnect has been called
- if ((!isConnected()) && (!connecting)) throw new IOException("Sender has been disconnected, can't selection key.");
- if ( !key.isValid() ) throw new IOException("Key is not valid, it must have been cancelled.");
+ if ((!isConnected()) && (!connecting)) throw new IOException(sm.getString("nioSender.sender.disconnected"));
+ if ( !key.isValid() ) throw new IOException(sm.getString("nioSender.key.inValid"));
if ( key.isConnectable() ) {
if ( socketChannel.finishConnect() ) {
completeConnect();
@@ -124,8 +126,8 @@ public class NioSender extends AbstractS
}//end if
} else {
//unknown state, should never happen
- log.warn("Data is in unknown state. readyOps="+ops);
- throw new IOException("Data is in unknown state. readyOps="+ops);
+ log.warn(sm.getString("nioSender.unknown.state", ops));
+ throw new IOException(sm.getString("nioSender.unknown.state", ops));
}//end if
return false;
}
@@ -168,7 +170,7 @@ public class NioSender extends AbstractS
if ( current == null ) return true;
int read = isUdpBased()?dataChannel.read(readbuf) : socketChannel.read(readbuf);
//end of stream
- if ( read == -1 ) throw new IOException("Unable to receive an ack message. EOF on socket channel has been reached.");
+ if ( read == -1 ) throw new IOException(sm.getString("nioSender.unable.receive.ack"));
//no data read
else if ( read == 0 ) return false;
readbuf.flip();
@@ -178,7 +180,7 @@ public class NioSender extends AbstractS
byte[] ackcmd = ackbuf.extractDataPackage(true).getBytes();
boolean ack = Arrays.equals(ackcmd,org.apache.catalina.tribes.transport.Constants.ACK_DATA);
boolean fack = Arrays.equals(ackcmd,org.apache.catalina.tribes.transport.Constants.FAIL_ACK_DATA);
- if ( fack && getThrowOnFailedAck() ) throw new RemoteProcessException("Received a failed ack:org.apache.catalina.tribes.transport.Constants.FAIL_ACK_DATA");
+ if ( fack && getThrowOnFailedAck() ) throw new RemoteProcessException(sm.getString("nioSender.receive.failedAck"));
return ack || fack;
} else {
return false;
@@ -188,7 +190,7 @@ public class NioSender extends AbstractS
protected boolean write() throws IOException {
if ( (!isConnected()) || (this.socketChannel==null && this.dataChannel==null)) {
- throw new IOException("NioSender is not connected, this should not occur.");
+ throw new IOException(sm.getString("nioSender.not.connected"));
}
if ( current != null ) {
if ( remaining > 0 ) {
@@ -219,7 +221,7 @@ public class NioSender extends AbstractS
public synchronized void connect() throws IOException {
if ( connecting || isConnected()) return;
connecting = true;
- if ( isConnected() ) throw new IOException("NioSender is already in connected state.");
+ if ( isConnected() ) throw new IOException(sm.getString("nioSender.already.connected"));
if ( readbuf == null ) {
readbuf = getReadBuffer();
} else {
@@ -233,7 +235,7 @@ public class NioSender extends AbstractS
if (isUdpBased()) {
InetSocketAddress daddr = new InetSocketAddress(getAddress(),getUdpPort());
- if ( dataChannel != null ) throw new IOException("Datagram channel has already been established. Connection might be in progress.");
+ if ( dataChannel != null ) throw new IOException(sm.getString("nioSender.datagram.already.established"));
dataChannel = DatagramChannel.open();
configureSocket();
dataChannel.connect(daddr);
@@ -242,7 +244,7 @@ public class NioSender extends AbstractS
} else {
InetSocketAddress addr = new InetSocketAddress(getAddress(),getPort());
- if ( socketChannel != null ) throw new IOException("Socket channel has already been established. Connection might be in progress.");
+ if ( socketChannel != null ) throw new IOException(sm.getString("nioSender.socketChannel.already.established"));
socketChannel = SocketChannel.open();
configureSocket();
if ( socketChannel.connect(addr) ) {
@@ -306,8 +308,8 @@ public class NioSender extends AbstractS
}
}
} catch ( Exception x ) {
- log.error("Unable to disconnect NioSender. msg="+x.getMessage());
- if ( log.isDebugEnabled() ) log.debug("Unable to disconnect NioSender. msg="+x.getMessage(),x);
+ log.error(sm.getString("nioSender.unable.disconnect", x.getMessage()));
+ if ( log.isDebugEnabled() ) log.debug(sm.getString("nioSender.unable.disconnect", x.getMessage()),x);
}
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java Thu May 21 10:14:50 2015
@@ -36,12 +36,15 @@ import org.apache.catalina.tribes.transp
import org.apache.catalina.tribes.transport.MultiPointSender;
import org.apache.catalina.tribes.transport.SenderState;
import org.apache.catalina.tribes.util.Logs;
+import org.apache.catalina.tribes.util.StringManager;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
public class ParallelNioSender extends AbstractSender implements MultiPointSender {
private static final Log log = LogFactory.getLog(ParallelNioSender.class);
+ protected static final StringManager sm =
+ StringManager.getManager(ParallelNioSender.class.getPackage().getName());
protected final long selectTimeout = 5000; //default 5 seconds, same as send timeout
protected final Selector selector;
protected final HashMap<Member, NioSender> nioSenders = new HashMap<>();
@@ -82,7 +85,7 @@ public class ParallelNioSender extends A
int faulty = (cx == null)?0:cx.getFaultyMembers().length;
if ( cx == null ) {
if ( x instanceof ChannelException ) cx = (ChannelException)x;
- else cx = new ChannelException("Parallel NIO send failed.", x);
+ else cx = new ChannelException(sm.getString("parallelNioSender.send.failed"), x);
} else {
if (x instanceof ChannelException) {
cx.addFaultyMember(((ChannelException) x).getFaultyMembers());
@@ -99,10 +102,8 @@ public class ParallelNioSender extends A
}
if ( remaining > 0 ) {
//timeout has occurred
- ChannelException cxtimeout = new ChannelException(
- "Operation has timed out(" + getTimeout() + " ms.).");
- if ( cx==null ) cx = new ChannelException(
- "Operation has timed out(" + getTimeout() + " ms.).");
+ ChannelException cxtimeout = new ChannelException(sm.getString("parallelNioSender.operation.timedout", getTimeout()));
+ if ( cx==null ) cx = new ChannelException(sm.getString("parallelNioSender.operation.timedout", getTimeout()));
for (int i=0; i<senders.length; i++ ) {
if (!senders[i].isComplete()) {
cx.addFaultyMember(senders[i].getDestination(),cxtimeout);
@@ -164,20 +165,14 @@ public class ParallelNioSender extends A
if (state.isReady()) {
state.setSuspect();
if ( retry )
- log.warn("Member send is failing for:" +
- sender.getDestination().getName() +
- " ; Setting to suspect and retrying.");
+ log.warn(sm.getString("parallelNioSender.send.fail.retrying", sender.getDestination().getName()));
else
- log.warn("Member send is failing for:" +
- sender.getDestination().getName() +
- " ; Setting to suspect.", x);
+ log.warn(sm.getString("parallelNioSender.send.fail", sender.getDestination().getName()), x);
}
}
if ( !isConnected() ) {
- log.warn("Not retrying send for:" + sender.getDestination().getName() +
- "; Sender is disconnected.");
- ChannelException cx = new ChannelException(
- "Send failed, and sender is disconnected. Not retrying.", x);
+ log.warn(sm.getString("parallelNioSender.sender.disconnected.notRetry", sender.getDestination().getName()));
+ ChannelException cx = new ChannelException(sm.getString("parallelNioSender.sender.disconnected.sendFailed"), x);
cx.addFaultyMember(sender.getDestination(),x);
throw cx;
}
@@ -194,7 +189,7 @@ public class ParallelNioSender extends A
}
} else {
ChannelException cx = new ChannelException(
- "Send failed, attempt:" + sender.getAttempt() + " max:" + maxAttempts,
+ sm.getString("parallelNioSender.sendFailed.attempt", sender.getAttempt(), maxAttempts),
x);
cx.addFaultyMember(sender.getDestination(),x);
throw cx;
@@ -250,7 +245,7 @@ public class ParallelNioSender extends A
sender.setUdpBased(isUdpBased());
result[i] = sender;
}catch ( UnknownHostException x ) {
- if (cx == null) cx = new ChannelException("Unable to setup NioSender.", x);
+ if (cx == null) cx = new ChannelException(sm.getString("parallelNioSender.unable.setup.NioSender"), x);
cx.addFaultyMember(destination[i], x);
}
}
@@ -334,7 +329,7 @@ public class ParallelNioSender extends A
i.remove();
result = true;
}catch ( Exception x ) {
- log.warn("Error during keepalive test for sender:"+sender,x);
+ log.warn(sm.getString("parallelNioSender.error.keepalive", sender),x);
}
}
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java Thu May 21 10:14:50 2015
@@ -24,8 +24,12 @@ import org.apache.catalina.tribes.Member
import org.apache.catalina.tribes.transport.AbstractSender;
import org.apache.catalina.tribes.transport.DataSender;
import org.apache.catalina.tribes.transport.PooledSender;
+import org.apache.catalina.tribes.util.StringManager;
public class PooledParallelSender extends PooledSender {
+ protected static final StringManager sm =
+ StringManager.getManager(PooledParallelSender.class.getPackage().getName());
+
protected boolean connected = true;
public PooledParallelSender() {
super();
@@ -33,11 +37,12 @@ public class PooledParallelSender extend
@Override
public void sendMessage(Member[] destination, ChannelMessage message) throws ChannelException {
- if ( !connected ) throw new ChannelException("Sender not connected.");
+ if ( !connected ) throw new ChannelException(sm.getString("pooledParallelSender.sender.disconnected"));
ParallelNioSender sender = (ParallelNioSender)getSender();
if (sender == null) {
- ChannelException cx = new ChannelException("Unable to retrieve a data sender, time out("+getMaxWait()+" ms) error.");
- for (int i = 0; i < destination.length; i++) cx.addFaultyMember(destination[i], new NullPointerException("Unable to retrieve a sender from the sender pool"));
+ ChannelException cx = new ChannelException(sm.getString("pooledParallelSender.unable.retrieveSender.timeout", getMaxWait()));
+ for (int i = 0; i < destination.length; i++)
+ cx.addFaultyMember(destination[i], new NullPointerException(sm.getString("pooledParallelSender.unable.retrieveSender")));
throw cx;
} else {
try {
@@ -60,7 +65,7 @@ public class PooledParallelSender extend
AbstractSender.transferProperties(this,sender);
return sender;
} catch ( IOException x ) {
- throw new RuntimeException("Unable to open NIO selector.",x);
+ throw new RuntimeException(sm.getString("pooledParallelSender.unable.open"),x);
}
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/util/Arrays.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/util/Arrays.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/util/Arrays.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/util/Arrays.java Thu May 21 10:14:50 2015
@@ -31,11 +31,12 @@ import org.apache.catalina.tribes.member
* @version 1.0
*/
public class Arrays {
+ protected static final StringManager sm = StringManager.getManager(Arrays.class.getPackage().getName());
public static boolean contains(byte[] source, int srcoffset, byte[] key, int keyoffset, int length) {
- if ( srcoffset < 0 || srcoffset >= source.length) throw new ArrayIndexOutOfBoundsException("srcoffset is out of bounds.");
- if ( keyoffset < 0 || keyoffset >= key.length) throw new ArrayIndexOutOfBoundsException("keyoffset is out of bounds.");
- if ( length > (key.length-keyoffset) ) throw new ArrayIndexOutOfBoundsException("not enough data elements in the key, length is out of bounds.");
+ if ( srcoffset < 0 || srcoffset >= source.length) throw new ArrayIndexOutOfBoundsException(sm.getString("arrays.srcoffset.outOfBounds"));
+ if ( keyoffset < 0 || keyoffset >= key.length) throw new ArrayIndexOutOfBoundsException(sm.getString("arrays.keyoffset.outOfBounds"));
+ if ( length > (key.length-keyoffset) ) throw new ArrayIndexOutOfBoundsException(sm.getString("arrays.length.outOfBounds"));
//we don't have enough data to validate it
if ( length > (source.length-srcoffset) ) return false;
boolean match = true;
@@ -203,7 +204,7 @@ public class Arrays {
public static byte[] fromString(String value) {
if ( value == null ) return null;
- if ( !value.startsWith("{") ) throw new RuntimeException("byte arrays must be represented as {1,3,4,5,6}");
+ if ( !value.startsWith("{") ) throw new RuntimeException(sm.getString("arrays.malformed.arrays"));
StringTokenizer t = new StringTokenizer(value,"{,}",false);
byte[] result = new byte[t.countTokens()];
for (int i=0; i<result.length; i++ ) result[i] = Byte.parseByte(t.nextToken());
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/util/ExecutorFactory.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/util/ExecutorFactory.java?rev=1680802&r1=1680801&r2=1680802&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/util/ExecutorFactory.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/util/ExecutorFactory.java Thu May 21 10:14:50 2015
@@ -27,6 +27,7 @@ import java.util.concurrent.ThreadPoolEx
import java.util.concurrent.TimeUnit;
public class ExecutorFactory {
+ protected static final StringManager sm = StringManager.getManager(ExecutorFactory.class.getPackage().getName());
public static ExecutorService newThreadPool(int minThreads, int maxThreads, long maxIdleTime, TimeUnit unit) {
TaskQueue taskqueue = new TaskQueue();
@@ -69,7 +70,7 @@ public class ExecutorFactory {
if (super.getQueue() instanceof TaskQueue) {
TaskQueue queue = (TaskQueue)super.getQueue();
if (!queue.force(command)) {
- throw new RejectedExecutionException("Queue capacity is full.");
+ throw new RejectedExecutionException(sm.getString("executorFactory.queue.full"));
}
}
}
@@ -91,7 +92,7 @@ public class ExecutorFactory {
}
public boolean force(Runnable o) {
- if ( parent.isShutdown() ) throw new RejectedExecutionException("Executor not running, can't force a command into the queue");
+ if ( parent.isShutdown() ) throw new RejectedExecutionException(sm.getString("executorFactory.not.running"));
return super.offer(o); //forces the item onto the queue, to be used if the task is rejected
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org