class org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask extends java.lang.Object implements org.springframework.messaging.support.MessageHandlingRunnable
{
private final org.springframework.messaging.Message inputMessage;
private final org.springframework.messaging.MessageHandler messageHandler;
private int interceptorIndex;
final org.springframework.messaging.support.ExecutorSubscribableChannel this$0;
public void <init>(org.springframework.messaging.support.ExecutorSubscribableChannel, org.springframework.messaging.Message, org.springframework.messaging.MessageHandler)
{
org.springframework.messaging.MessageHandler v;
int v;
org.springframework.messaging.Message v;
org.springframework.messaging.support.ExecutorSubscribableChannel v;
org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask v;
v := @this: org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask;
v := @parameter: org.springframework.messaging.support.ExecutorSubscribableChannel;
v := @parameter: org.springframework.messaging.Message;
v := @parameter: org.springframework.messaging.MessageHandler;
v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.support.ExecutorSubscribableChannel this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v = (int) -1;
v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: int interceptorIndex> = v;
v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.Message inputMessage> = v;
v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.MessageHandler messageHandler> = v;
return;
}
public org.springframework.messaging.Message getMessage()
{
org.springframework.messaging.Message v;
org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask v;
v := @this: org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.Message inputMessage>;
return v;
}
public org.springframework.messaging.MessageHandler getMessageHandler()
{
org.springframework.messaging.MessageHandler v;
org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask v;
v := @this: org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.MessageHandler messageHandler>;
return v;
}
public void run()
{
java.lang.Throwable v;
java.lang.Exception v;
org.springframework.messaging.MessageDeliveryException v, v;
org.springframework.messaging.MessageHandler v, v, v;
org.springframework.messaging.Message v;
java.lang.String v, v;
boolean v;
org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask v;
v := @this: org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.Message inputMessage>;
label:
v = specialinvoke v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.Message applyBeforeHandle(org.springframework.messaging.Message)>(v);
if v != null goto label;
label:
return;
label:
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.MessageHandler messageHandler>;
interfaceinvoke v.<org.springframework.messaging.MessageHandler: void handleMessage(org.springframework.messaging.Message)>(v);
specialinvoke v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: void triggerAfterMessageHandled(org.springframework.messaging.Message,java.lang.Exception)>(v, null);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: void triggerAfterMessageHandled(org.springframework.messaging.Message,java.lang.Exception)>(v, v);
v = v instanceof org.springframework.messaging.MessagingException;
if v == 0 goto label;
throw v;
label:
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.MessageHandler messageHandler>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.springframework.messaging.Message,org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask,org.springframework.messaging.MessageHandler)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to handle \u to \u in \u0001");
v = new org.springframework.messaging.MessageDeliveryException;
specialinvoke v.<org.springframework.messaging.MessageDeliveryException: void <init>(org.springframework.messaging.Message,java.lang.String,java.lang.Throwable)>(v, v, v);
throw v;
label:
v := @caughtexception;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.MessageHandler messageHandler>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.springframework.messaging.Message,org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask,org.springframework.messaging.MessageHandler)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to handle \u to \u in \u0001");
v = new org.springframework.messaging.MessageDeliveryException;
specialinvoke v.<org.springframework.messaging.MessageDeliveryException: void <init>(org.springframework.messaging.Message,java.lang.String,java.lang.Throwable)>(v, v, v);
specialinvoke v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: void triggerAfterMessageHandled(org.springframework.messaging.Message,java.lang.Exception)>(v, v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private org.springframework.messaging.Message applyBeforeHandle(org.springframework.messaging.Message)
{
org.springframework.messaging.support.ExecutorSubscribableChannel v, v, v, v;
int v, v;
org.springframework.messaging.Message v, v;
java.lang.String v, v;
boolean v, v;
java.util.Iterator v;
java.util.List v;
org.springframework.messaging.MessageHandler v;
java.lang.Class v;
java.lang.Object v;
org.apache.commons.logging.Log v, v;
org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask v;
v := @this: org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask;
v := @parameter: org.springframework.messaging.Message;
v = v;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.support.ExecutorSubscribableChannel this$0>;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel: java.util.List executorInterceptors>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.support.ExecutorSubscribableChannel this$0>;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.MessageHandler messageHandler>;
v = interfaceinvoke v.<org.springframework.messaging.support.ExecutorChannelInterceptor: org.springframework.messaging.Message beforeHandle(org.springframework.messaging.Message,org.springframework.messaging.MessageChannel,org.springframework.messaging.MessageHandler)>(v, v, v);
if v != null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.support.ExecutorSubscribableChannel this$0>;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.support.ExecutorSubscribableChannel this$0>;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel: org.apache.commons.logging.Log logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u returned null from beforeHandle, i.e. precluding the send.");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
specialinvoke v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: void triggerAfterMessageHandled(org.springframework.messaging.Message,java.lang.Exception)>(v, null);
return null;
label:
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: int interceptorIndex>;
v = v + 1;
v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: int interceptorIndex> = v;
goto label;
label:
return v;
}
private void triggerAfterMessageHandled(org.springframework.messaging.Message, java.lang.Exception)
{
java.lang.Throwable v;
org.springframework.messaging.support.ExecutorSubscribableChannel v, v, v;
java.lang.Exception v;
java.util.List v;
org.springframework.messaging.MessageHandler v;
int v;
java.lang.Object v;
org.apache.commons.logging.Log v;
org.springframework.messaging.Message v;
java.lang.String v;
org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask v;
v := @this: org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask;
v := @parameter: org.springframework.messaging.Message;
v := @parameter: java.lang.Exception;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: int interceptorIndex>;
label:
if v < 0 goto label;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.support.ExecutorSubscribableChannel this$0>;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel: java.util.List executorInterceptors>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
label:
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.support.ExecutorSubscribableChannel this$0>;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.MessageHandler messageHandler>;
interfaceinvoke v.<org.springframework.messaging.support.ExecutorChannelInterceptor: void afterMessageHandled(org.springframework.messaging.Message,org.springframework.messaging.MessageChannel,org.springframework.messaging.MessageHandler,java.lang.Exception)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask: org.springframework.messaging.support.ExecutorSubscribableChannel this$0>;
v = v.<org.springframework.messaging.support.ExecutorSubscribableChannel: org.apache.commons.logging.Log logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.springframework.messaging.support.ExecutorChannelInterceptor)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Exception from afterMessageHandled in \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void error(java.lang.Object,java.lang.Throwable)>(v, v);
label:
v = v - 1;
goto label;
label:
return;
catch java.lang.Throwable from label to label with label;
}
}