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

Reply via email to