Author: markt
Date: Wed Jan 6 17:06:51 2016
New Revision: 1723375
URL: http://svn.apache.org/viewvc?rev=1723375&view=rev
Log:
Refactor to remove use of unnecessary LinkObject
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java?rev=1723375&r1=1723374&r2=1723375&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java
(original)
+++
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java
Wed Jan 6 17:06:51 2016
@@ -23,6 +23,7 @@ import java.util.concurrent.atomic.Atomi
import org.apache.catalina.tribes.Channel;
import org.apache.catalina.tribes.ChannelException;
import org.apache.catalina.tribes.ChannelMessage;
+import org.apache.catalina.tribes.ErrorHandler;
import org.apache.catalina.tribes.Member;
import org.apache.catalina.tribes.UniqueId;
import org.apache.catalina.tribes.group.ChannelInterceptorBase;
@@ -95,11 +96,10 @@ public class MessageDispatchInterceptor
public boolean addToQueue(ChannelMessage msg, Member[] destination,
InterceptorPayload payload) {
- final LinkObject obj = new LinkObject(msg, destination, payload);
Runnable r = new Runnable() {
@Override
public void run() {
- sendAsyncData(obj);
+ sendAsyncData(msg, destination, payload);
}
};
executor.execute(r);
@@ -250,34 +250,40 @@ public class MessageDispatchInterceptor
}
- protected LinkObject sendAsyncData(LinkObject link) {
- ChannelMessage msg = link.data();
- Member[] destination = link.getDestination();
+ protected void sendAsyncData(ChannelMessage msg, Member[] destination,
+ InterceptorPayload payload) {
+ ErrorHandler handler = null;
+ if (payload != null) {
+ handler = payload.getErrorHandler();
+ }
try {
- super.sendMessage(destination,msg,null);
+ super.sendMessage(destination, msg, null);
try {
- if (link.getHandler() != null) {
- link.getHandler().handleCompletion(new
UniqueId(msg.getUniqueId()));
+ if (handler != null) {
+ handler.handleCompletion(new UniqueId(msg.getUniqueId()));
}
} catch ( Exception ex ) {
log.error(sm.getString("messageDispatchInterceptor.completeMessage.failed"),ex);
}
} catch ( Exception x ) {
ChannelException cx = null;
- if ( x instanceof ChannelException ) cx = (ChannelException)x;
- else cx = new ChannelException(x);
- if ( log.isDebugEnabled() )
log.debug(sm.getString("messageDispatchInterceptor.AsyncMessage.failed"),x);
+ if (x instanceof ChannelException) {
+ cx = (ChannelException) x;
+ } else {
+ cx = new ChannelException(x);
+ }
+ if (log.isDebugEnabled()) {
+
log.debug(sm.getString("messageDispatchInterceptor.AsyncMessage.failed"),x);
+ }
try {
- if (link.getHandler() != null) {
- link.getHandler().handleError(cx, new
UniqueId(msg.getUniqueId()));
+ if (handler != null) {
+ handler.handleError(cx, new UniqueId(msg.getUniqueId()));
}
} catch ( Exception ex ) {
log.error(sm.getString("messageDispatchInterceptor.errorMessage.failed"),ex);
}
} finally {
addAndGetCurrentSize(-msg.getMessage().getLength());
- link = link.next();
}
- return link;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]