final class org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask extends java.lang.Object implements java.lang.Runnable
{
private final org.apache.camel.util.concurrent.AtomicExchange result;
private final org.apache.camel.Exchange subExchange;
private final java.util.concurrent.atomic.AtomicInteger aggregated;
final org.apache.camel.processor.MulticastProcessor this$0;
private void <init>(org.apache.camel.processor.MulticastProcessor, org.apache.camel.util.concurrent.AtomicExchange, org.apache.camel.Exchange, java.util.concurrent.atomic.AtomicInteger)
{
org.apache.camel.processor.MulticastProcessor v;
org.apache.camel.util.concurrent.AtomicExchange v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.camel.Exchange v;
org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask v;
v := @this: org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask;
v := @parameter: org.apache.camel.processor.MulticastProcessor;
v := @parameter: org.apache.camel.util.concurrent.AtomicExchange;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.util.concurrent.atomic.AtomicInteger;
v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.processor.MulticastProcessor this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.util.concurrent.AtomicExchange result> = v;
v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.Exchange subExchange> = v;
v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: java.util.concurrent.atomic.AtomicInteger aggregated> = v;
return;
}
public void run()
{
java.lang.Throwable v, v;
org.apache.camel.util.concurrent.AtomicExchange v, v;
org.apache.camel.Exchange v, v, v, v, v, v;
org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask v;
org.apache.camel.processor.MulticastProcessor v, v, v, v, v, v;
java.util.concurrent.atomic.AtomicInteger v, v, v, v;
int v;
java.lang.String v, v;
boolean v, v;
org.slf4j.Logger v;
org.apache.camel.processor.aggregate.AggregationStrategy v, v;
org.apache.camel.CamelExchangeException v;
v := @this: org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask;
label:
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.processor.MulticastProcessor this$0>;
v = v.<org.apache.camel.processor.MulticastProcessor: boolean parallelAggregate>;
if v == 0 goto label;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.processor.MulticastProcessor this$0>;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.processor.MulticastProcessor this$0>;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.Exchange subExchange>;
v = virtualinvoke v.<org.apache.camel.processor.MulticastProcessor: org.apache.camel.processor.aggregate.AggregationStrategy getAggregationStrategy(org.apache.camel.Exchange)>(v);
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.util.concurrent.AtomicExchange result>;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.Exchange subExchange>;
virtualinvoke v.<org.apache.camel.processor.MulticastProcessor: void doAggregateInternal(org.apache.camel.processor.aggregate.AggregationStrategy,org.apache.camel.util.concurrent.AtomicExchange,org.apache.camel.Exchange)>(v, v, v);
goto label;
label:
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.processor.MulticastProcessor this$0>;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.processor.MulticastProcessor this$0>;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.Exchange subExchange>;
v = virtualinvoke v.<org.apache.camel.processor.MulticastProcessor: org.apache.camel.processor.aggregate.AggregationStrategy getAggregationStrategy(org.apache.camel.Exchange)>(v);
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.util.concurrent.AtomicExchange result>;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.Exchange subExchange>;
virtualinvoke v.<org.apache.camel.processor.MulticastProcessor: void doAggregate(org.apache.camel.processor.aggregate.AggregationStrategy,org.apache.camel.util.concurrent.AtomicExchange,org.apache.camel.Exchange)>(v, v, v);
label:
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: java.util.concurrent.atomic.AtomicInteger aggregated>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.processor.MulticastProcessor this$0>;
v = virtualinvoke v.<org.apache.camel.processor.MulticastProcessor: boolean isStopOnAggregateException()>();
if v == 0 goto label;
throw v;
label:
v = new org.apache.camel.CamelExchangeException;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: java.util.concurrent.atomic.AtomicInteger aggregated>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Parallel processing failed for number \u0001");
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.Exchange subExchange>;
specialinvoke v.<org.apache.camel.CamelExchangeException: void <init>(java.lang.String,org.apache.camel.Exchange,java.lang.Throwable)>(v, v, v);
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: org.apache.camel.Exchange subExchange>;
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
v = <org.apache.camel.processor.MulticastProcessor: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.camel.CamelExchangeException: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: java.util.concurrent.atomic.AtomicInteger aggregated>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.processor.MulticastProcessor$ParallelAggregateTask: java.util.concurrent.atomic.AtomicInteger aggregated>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
}