public class org.apache.camel.component.seda.SedaEndpoint extends org.apache.camel.impl.DefaultEndpoint implements org.apache.camel.AsyncEndpoint, org.apache.camel.spi.BrowsableEndpoint, org.apache.camel.MultipleConsumersSupport
{
private static final org.slf4j.Logger LOG;
private final java.util.Set producers;
private final java.util.Set consumers;
private volatile org.apache.camel.processor.MulticastProcessor consumerMulticastProcessor;
private volatile boolean multicastStarted;
private volatile java.util.concurrent.ExecutorService multicastExecutor;
private java.lang.String name;
private java.util.concurrent.BlockingQueue queue;
private int size;
private int concurrentConsumers;
private boolean limitConcurrentConsumers;
private boolean multipleConsumers;
private boolean purgeWhenStopping;
private int pollTimeout;
private org.apache.camel.WaitForTaskToComplete waitForTaskToComplete;
private long timeout;
private long offerTimeout;
private boolean blockWhenFull;
private boolean failIfNoConsumers;
private boolean discardIfNoConsumers;
private org.apache.camel.component.seda.BlockingQueueFactory queueFactory;
public void <init>()
{
org.apache.camel.WaitForTaskToComplete v;
org.apache.camel.component.seda.LinkedBlockingQueueFactory v;
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.CopyOnWriteArraySet v, v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
specialinvoke v.<org.apache.camel.impl.DefaultEndpoint: void <init>()>();
v = new java.util.concurrent.CopyOnWriteArraySet;
specialinvoke v.<java.util.concurrent.CopyOnWriteArraySet: void <init>()>();
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set producers> = v;
v = new java.util.concurrent.CopyOnWriteArraySet;
specialinvoke v.<java.util.concurrent.CopyOnWriteArraySet: void <init>()>();
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set consumers> = v;
v.<org.apache.camel.component.seda.SedaEndpoint: int size> = 1000;
v.<org.apache.camel.component.seda.SedaEndpoint: int concurrentConsumers> = 1;
v.<org.apache.camel.component.seda.SedaEndpoint: boolean limitConcurrentConsumers> = 1;
v.<org.apache.camel.component.seda.SedaEndpoint: int pollTimeout> = 1000;
v = <org.apache.camel.WaitForTaskToComplete: org.apache.camel.WaitForTaskToComplete IfReplyExpected>;
v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.WaitForTaskToComplete waitForTaskToComplete> = v;
v.<org.apache.camel.component.seda.SedaEndpoint: long timeout> = 30000L;
v = new org.apache.camel.component.seda.LinkedBlockingQueueFactory;
specialinvoke v.<org.apache.camel.component.seda.LinkedBlockingQueueFactory: void <init>()>();
v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.BlockingQueueFactory queueFactory> = v;
return;
}
public void <init>(java.lang.String, org.apache.camel.Component, java.util.concurrent.BlockingQueue)
{
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.BlockingQueue v;
org.apache.camel.Component v;
java.lang.String v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: java.lang.String;
v := @parameter: org.apache.camel.Component;
v := @parameter: java.util.concurrent.BlockingQueue;
specialinvoke v.<org.apache.camel.component.seda.SedaEndpoint: void <init>(java.lang.String,org.apache.camel.Component,java.util.concurrent.BlockingQueue,int)>(v, v, v, 1);
return;
}
public void <init>(java.lang.String, org.apache.camel.Component, java.util.concurrent.BlockingQueue, int)
{
org.apache.camel.component.seda.LinkedBlockingQueueFactory v;
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.BlockingQueue v;
org.apache.camel.Component v;
org.apache.camel.component.seda.SedaComponent v;
int v, v;
java.lang.String v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: java.lang.String;
v := @parameter: org.apache.camel.Component;
v := @parameter: java.util.concurrent.BlockingQueue;
v := @parameter: int;
specialinvoke v.<org.apache.camel.component.seda.SedaEndpoint: void <init>(java.lang.String,org.apache.camel.Component,int)>(v, v, v);
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue> = v;
if v == null goto label;
v = interfaceinvoke v.<java.util.concurrent.BlockingQueue: int remainingCapacity()>();
v.<org.apache.camel.component.seda.SedaEndpoint: int size> = v;
label:
v = new org.apache.camel.component.seda.LinkedBlockingQueueFactory;
specialinvoke v.<org.apache.camel.component.seda.LinkedBlockingQueueFactory: void <init>()>();
v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.BlockingQueueFactory queueFactory> = v;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
virtualinvoke v.<org.apache.camel.component.seda.SedaComponent: org.apache.camel.component.seda.QueueReference registerQueue(org.apache.camel.component.seda.SedaEndpoint,java.util.concurrent.BlockingQueue)>(v, v);
return;
}
public void <init>(java.lang.String, org.apache.camel.Component, org.apache.camel.component.seda.BlockingQueueFactory, int)
{
org.apache.camel.component.seda.BlockingQueueFactory v;
int v;
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.Component v;
java.lang.String v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: java.lang.String;
v := @parameter: org.apache.camel.Component;
v := @parameter: org.apache.camel.component.seda.BlockingQueueFactory;
v := @parameter: int;
specialinvoke v.<org.apache.camel.component.seda.SedaEndpoint: void <init>(java.lang.String,org.apache.camel.Component,int)>(v, v, v);
v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.BlockingQueueFactory queueFactory> = v;
return;
}
private void <init>(java.lang.String, org.apache.camel.Component, int)
{
org.apache.camel.WaitForTaskToComplete v;
int v;
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.Component v;
java.lang.String v;
java.util.concurrent.CopyOnWriteArraySet v, v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: java.lang.String;
v := @parameter: org.apache.camel.Component;
v := @parameter: int;
specialinvoke v.<org.apache.camel.impl.DefaultEndpoint: void <init>(java.lang.String,org.apache.camel.Component)>(v, v);
v = new java.util.concurrent.CopyOnWriteArraySet;
specialinvoke v.<java.util.concurrent.CopyOnWriteArraySet: void <init>()>();
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set producers> = v;
v = new java.util.concurrent.CopyOnWriteArraySet;
specialinvoke v.<java.util.concurrent.CopyOnWriteArraySet: void <init>()>();
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set consumers> = v;
v.<org.apache.camel.component.seda.SedaEndpoint: int size> = 1000;
v.<org.apache.camel.component.seda.SedaEndpoint: int concurrentConsumers> = 1;
v.<org.apache.camel.component.seda.SedaEndpoint: boolean limitConcurrentConsumers> = 1;
v.<org.apache.camel.component.seda.SedaEndpoint: int pollTimeout> = 1000;
v = <org.apache.camel.WaitForTaskToComplete: org.apache.camel.WaitForTaskToComplete IfReplyExpected>;
v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.WaitForTaskToComplete waitForTaskToComplete> = v;
v.<org.apache.camel.component.seda.SedaEndpoint: long timeout> = 30000L;
v.<org.apache.camel.component.seda.SedaEndpoint: int concurrentConsumers> = v;
return;
}
public org.apache.camel.component.seda.SedaComponent getComponent()
{
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.Component v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = specialinvoke v.<org.apache.camel.impl.DefaultEndpoint: org.apache.camel.Component getComponent()>();
return v;
}
public org.apache.camel.Producer createProducer() throws java.lang.Exception
{
org.apache.camel.WaitForTaskToComplete v;
org.apache.camel.component.seda.SedaProducer v;
org.apache.camel.component.seda.SedaEndpoint v;
long v, v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = new org.apache.camel.component.seda.SedaProducer;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.WaitForTaskToComplete getWaitForTaskToComplete()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: long getTimeout()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: boolean isBlockWhenFull()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: long getOfferTimeout()>();
specialinvoke v.<org.apache.camel.component.seda.SedaProducer: void <init>(org.apache.camel.component.seda.SedaEndpoint,org.apache.camel.WaitForTaskToComplete,long,boolean,long)>(v, v, v, v, v);
return v;
}
public org.apache.camel.Consumer createConsumer(org.apache.camel.Processor) throws java.lang.Exception
{
org.apache.camel.Processor v;
org.apache.camel.component.seda.SedaComponent v, v, v;
org.apache.camel.component.seda.QueueReference v;
java.lang.Boolean v, v;
java.lang.String v, v, v;
boolean v, v, v;
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.component.seda.SedaConsumer v;
java.lang.IllegalArgumentException v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: org.apache.camel.Processor;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.lang.String getEndpointUri()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaComponent: java.lang.String getQueueKey(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaComponent: org.apache.camel.component.seda.QueueReference getQueueReference(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.QueueReference: java.lang.Boolean getMultipleConsumers()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: boolean isMultipleConsumers()>();
if v == v goto label;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<org.apache.camel.component.seda.QueueReference: java.lang.Boolean getMultipleConsumers()>();
v = v.<org.apache.camel.component.seda.SedaEndpoint: boolean multipleConsumers>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Boolean,boolean)>(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[])>("Cannot use existing queue \u as the existing queue multiple consumers \u does not match given multiple consumers \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaConsumer createNewConsumer(org.apache.camel.Processor)>(v);
virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: void configureConsumer(org.apache.camel.Consumer)>(v);
return v;
}
protected org.apache.camel.component.seda.SedaConsumer createNewConsumer(org.apache.camel.Processor)
{
org.apache.camel.Processor v;
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.component.seda.SedaConsumer v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: org.apache.camel.Processor;
v = new org.apache.camel.component.seda.SedaConsumer;
specialinvoke v.<org.apache.camel.component.seda.SedaConsumer: void <init>(org.apache.camel.component.seda.SedaEndpoint,org.apache.camel.Processor)>(v, v);
return v;
}
public org.apache.camel.PollingConsumer createPollingConsumer() throws java.lang.Exception
{
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.component.seda.SedaPollingConsumer v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = new org.apache.camel.component.seda.SedaPollingConsumer;
specialinvoke v.<org.apache.camel.component.seda.SedaPollingConsumer: void <init>(org.apache.camel.Endpoint)>(v);
virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: void configureConsumer(org.apache.camel.Consumer)>(v);
return v;
}
public synchronized java.util.concurrent.BlockingQueue getQueue()
{
org.apache.camel.component.seda.BlockingQueueFactory v;
java.lang.Integer v, v, v, v, v, v, v;
org.apache.camel.component.seda.QueueReference v;
boolean v;
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.BlockingQueue v, v, v, v;
java.lang.Object[] v, v;
org.apache.camel.component.seda.SedaComponent v, v, v;
int v, v, v, v, v, v;
java.lang.Boolean v;
java.lang.String v, v, v;
org.slf4j.Logger v, v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue>;
if v != null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: int getSize()>();
if v == 2147483647 goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: int getSize()>();
if v != 1000 goto label;
label:
v = null;
goto label;
label:
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: int getSize()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
label:
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: boolean isMultipleConsumers()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v = v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.BlockingQueueFactory queueFactory>;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaComponent: org.apache.camel.component.seda.QueueReference getOrCreateQueue(org.apache.camel.component.seda.SedaEndpoint,java.lang.Integer,java.lang.Boolean,org.apache.camel.component.seda.BlockingQueueFactory)>(v, v, v, v);
v = virtualinvoke v.<org.apache.camel.component.seda.QueueReference: java.util.concurrent.BlockingQueue getQueue()>();
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue> = v;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.lang.String getEndpointUri()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaComponent: java.lang.String getQueueKey(java.lang.String)>(v);
v = <org.apache.camel.component.seda.SedaEndpoint: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v = virtualinvoke v.<org.apache.camel.component.seda.QueueReference: java.lang.Integer getSize()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.QueueReference: java.lang.Integer getSize()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
goto label;
label:
v = 2147483647;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("Endpoint {} is using shared queue: {} with size: {}", v);
v = virtualinvoke v.<org.apache.camel.component.seda.QueueReference: java.lang.Integer getSize()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.QueueReference: java.lang.Integer getSize()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: void setSize(int)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue createQueue()>();
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue> = v;
v = <org.apache.camel.component.seda.SedaEndpoint: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.lang.String getEndpointUri()>();
v[1] = v;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: int getSize()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("Endpoint {} is using queue: {} with size: {}", v);
label:
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue>;
return v;
}
protected java.util.concurrent.BlockingQueue createQueue()
{
org.apache.camel.component.seda.BlockingQueueFactory v, v;
int v, v;
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.BlockingQueue v, v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: int size>;
if v <= 0 goto label;
v = v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.BlockingQueueFactory queueFactory>;
v = v.<org.apache.camel.component.seda.SedaEndpoint: int size>;
v = interfaceinvoke v.<org.apache.camel.component.seda.BlockingQueueFactory: java.util.concurrent.BlockingQueue create(int)>(v);
return v;
label:
v = v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.BlockingQueueFactory queueFactory>;
v = interfaceinvoke v.<org.apache.camel.component.seda.BlockingQueueFactory: java.util.concurrent.BlockingQueue create()>();
return v;
}
public synchronized org.apache.camel.component.seda.QueueReference getQueueReference()
{
org.apache.camel.component.seda.SedaComponent v, v;
org.apache.camel.component.seda.QueueReference v;
org.apache.camel.component.seda.SedaEndpoint v;
java.lang.String v, v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.lang.String getEndpointUri()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaComponent: java.lang.String getQueueKey(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaComponent: org.apache.camel.component.seda.QueueReference getQueueReference(java.lang.String)>(v);
return v;
}
protected synchronized org.apache.camel.processor.MulticastProcessor getConsumerMulticastProcessor() throws java.lang.Exception
{
org.apache.camel.processor.MulticastProcessor v, v, v;
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: boolean multicastStarted>;
if v != 0 goto label;
v = v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.processor.MulticastProcessor consumerMulticastProcessor>;
if v == null goto label;
v = v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.processor.MulticastProcessor consumerMulticastProcessor>;
staticinvoke <org.apache.camel.util.ServiceHelper: void startService(org.apache.camel.Service)>(v);
v.<org.apache.camel.component.seda.SedaEndpoint: boolean multicastStarted> = 1;
label:
v = v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.processor.MulticastProcessor consumerMulticastProcessor>;
return v;
}
protected synchronized void updateMulticastProcessor() throws java.lang.Exception
{
java.util.ArrayList v;
org.apache.camel.Processor v;
org.apache.camel.processor.MulticastProcessor v, v, v;
int v;
org.apache.camel.spi.ExecutorServiceManager v;
java.lang.String v, v, v;
java.util.concurrent.ExecutorService v, v, v;
boolean v, v;
org.apache.camel.CamelContext v, v;
java.util.Iterator v;
java.util.Set v, v;
org.apache.camel.component.seda.SedaEndpoint v;
java.lang.Object v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: boolean isMultipleConsumersSupported()>();
if v != 0 goto label;
return;
label:
v = v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.processor.MulticastProcessor consumerMulticastProcessor>;
if v == null goto label;
v = v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.processor.MulticastProcessor consumerMulticastProcessor>;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopService(java.lang.Object)>(v);
v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.processor.MulticastProcessor consumerMulticastProcessor> = null;
label:
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set getConsumers()>();
v = interfaceinvoke v.<java.util.Set: int size()>();
if v < 1 goto label;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.ExecutorService multicastExecutor>;
if v != null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.CamelContext getCamelContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.ExecutorServiceManager getExecutorServiceManager()>();
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.lang.String getEndpointUri()>();
v = staticinvoke <org.apache.camel.util.URISupport: java.lang.String sanitizeUri(java.lang.String)>(v);
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[])>("\u0001(multicast)");
v = interfaceinvoke v.<org.apache.camel.spi.ExecutorServiceManager: java.util.concurrent.ExecutorService newDefaultThreadPool(java.lang.Object,java.lang.String)>(v, v);
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.ExecutorService multicastExecutor> = v;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set getConsumers()>();
v = interfaceinvoke v.<java.util.Set: 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 = virtualinvoke v.<org.apache.camel.component.seda.SedaConsumer: org.apache.camel.Processor getProcessor()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v.<org.apache.camel.component.seda.SedaEndpoint: boolean multicastStarted> = 0;
v = new org.apache.camel.processor.MulticastProcessor;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.CamelContext getCamelContext()>();
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.ExecutorService multicastExecutor>;
specialinvoke v.<org.apache.camel.processor.MulticastProcessor: void <init>(org.apache.camel.CamelContext,java.util.Collection,org.apache.camel.processor.aggregate.AggregationStrategy,boolean,java.util.concurrent.ExecutorService,boolean,boolean,boolean,long,org.apache.camel.Processor,boolean,boolean)>(v, v, null, 1, v, 0, 0, 0, 0L, null, 0, 0);
v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.processor.MulticastProcessor consumerMulticastProcessor> = v;
label:
return;
}
public void setQueue(java.util.concurrent.BlockingQueue)
{
int v;
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.BlockingQueue v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: java.util.concurrent.BlockingQueue;
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue> = v;
v = interfaceinvoke v.<java.util.concurrent.BlockingQueue: int remainingCapacity()>();
v.<org.apache.camel.component.seda.SedaEndpoint: int size> = v;
return;
}
public int getSize()
{
int v;
org.apache.camel.component.seda.SedaEndpoint v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: int size>;
return v;
}
public void setSize(int)
{
int v;
org.apache.camel.component.seda.SedaEndpoint v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: int;
v.<org.apache.camel.component.seda.SedaEndpoint: int size> = v;
return;
}
public int getCurrentQueueSize()
{
int v;
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.BlockingQueue v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue>;
v = interfaceinvoke v.<java.util.concurrent.BlockingQueue: int size()>();
return v;
}
public void setBlockWhenFull(boolean)
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: boolean;
v.<org.apache.camel.component.seda.SedaEndpoint: boolean blockWhenFull> = v;
return;
}
public boolean isBlockWhenFull()
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: boolean blockWhenFull>;
return v;
}
public void setConcurrentConsumers(int)
{
int v;
org.apache.camel.component.seda.SedaEndpoint v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: int;
v.<org.apache.camel.component.seda.SedaEndpoint: int concurrentConsumers> = v;
return;
}
public int getConcurrentConsumers()
{
int v;
org.apache.camel.component.seda.SedaEndpoint v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: int concurrentConsumers>;
return v;
}
public boolean isLimitConcurrentConsumers()
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: boolean limitConcurrentConsumers>;
return v;
}
public void setLimitConcurrentConsumers(boolean)
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: boolean;
v.<org.apache.camel.component.seda.SedaEndpoint: boolean limitConcurrentConsumers> = v;
return;
}
public org.apache.camel.WaitForTaskToComplete getWaitForTaskToComplete()
{
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.WaitForTaskToComplete v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.WaitForTaskToComplete waitForTaskToComplete>;
return v;
}
public void setWaitForTaskToComplete(org.apache.camel.WaitForTaskToComplete)
{
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.WaitForTaskToComplete v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: org.apache.camel.WaitForTaskToComplete;
v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.WaitForTaskToComplete waitForTaskToComplete> = v;
return;
}
public long getTimeout()
{
org.apache.camel.component.seda.SedaEndpoint v;
long v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: long timeout>;
return v;
}
public void setTimeout(long)
{
org.apache.camel.component.seda.SedaEndpoint v;
long v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: long;
v.<org.apache.camel.component.seda.SedaEndpoint: long timeout> = v;
return;
}
public long getOfferTimeout()
{
org.apache.camel.component.seda.SedaEndpoint v;
long v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: long offerTimeout>;
return v;
}
public void setOfferTimeout(long)
{
org.apache.camel.component.seda.SedaEndpoint v;
long v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: long;
v.<org.apache.camel.component.seda.SedaEndpoint: long offerTimeout> = v;
return;
}
public boolean isFailIfNoConsumers()
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: boolean failIfNoConsumers>;
return v;
}
public void setFailIfNoConsumers(boolean)
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: boolean;
v.<org.apache.camel.component.seda.SedaEndpoint: boolean failIfNoConsumers> = v;
return;
}
public boolean isDiscardIfNoConsumers()
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: boolean discardIfNoConsumers>;
return v;
}
public void setDiscardIfNoConsumers(boolean)
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: boolean;
v.<org.apache.camel.component.seda.SedaEndpoint: boolean discardIfNoConsumers> = v;
return;
}
public boolean isMultipleConsumers()
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: boolean multipleConsumers>;
return v;
}
public void setMultipleConsumers(boolean)
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: boolean;
v.<org.apache.camel.component.seda.SedaEndpoint: boolean multipleConsumers> = v;
return;
}
public int getPollTimeout()
{
int v;
org.apache.camel.component.seda.SedaEndpoint v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: int pollTimeout>;
return v;
}
public void setPollTimeout(int)
{
int v;
org.apache.camel.component.seda.SedaEndpoint v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: int;
v.<org.apache.camel.component.seda.SedaEndpoint: int pollTimeout> = v;
return;
}
public boolean isPurgeWhenStopping()
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: boolean purgeWhenStopping>;
return v;
}
public void setPurgeWhenStopping(boolean)
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: boolean;
v.<org.apache.camel.component.seda.SedaEndpoint: boolean purgeWhenStopping> = v;
return;
}
public boolean isSingleton()
{
org.apache.camel.component.seda.SedaEndpoint v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
return 1;
}
public java.util.List getExchanges()
{
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.BlockingQueue v;
java.util.ArrayList v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = new java.util.ArrayList;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue getQueue()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
return v;
}
public boolean isMultipleConsumersSupported()
{
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: boolean isMultipleConsumers()>();
return v;
}
public void purgeQueue()
{
org.slf4j.Logger v;
int v;
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.BlockingQueue v, v;
java.lang.Integer v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = <org.apache.camel.component.seda.SedaEndpoint: org.slf4j.Logger LOG>;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue>;
v = interfaceinvoke v.<java.util.concurrent.BlockingQueue: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Purging queue with {} exchanges", v);
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue>;
interfaceinvoke v.<java.util.concurrent.BlockingQueue: void clear()>();
return;
}
public java.util.Set getConsumers()
{
java.util.Set v;
org.apache.camel.component.seda.SedaEndpoint v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set consumers>;
return v;
}
public java.util.Set getProducers()
{
java.util.HashSet v;
java.util.Set v;
org.apache.camel.component.seda.SedaEndpoint v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = new java.util.HashSet;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set producers>;
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
return v;
}
void onStarted(org.apache.camel.component.seda.SedaProducer)
{
java.util.Set v;
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.component.seda.SedaProducer v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: org.apache.camel.component.seda.SedaProducer;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set producers>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
return;
}
void onStopped(org.apache.camel.component.seda.SedaProducer)
{
java.util.Set v;
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.component.seda.SedaProducer v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: org.apache.camel.component.seda.SedaProducer;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set producers>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
return;
}
void onStarted(org.apache.camel.component.seda.SedaConsumer) throws java.lang.Exception
{
java.util.Set v;
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.component.seda.SedaConsumer v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: org.apache.camel.component.seda.SedaConsumer;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set consumers>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: boolean isMultipleConsumers()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: void updateMulticastProcessor()>();
label:
return;
}
void onStopped(org.apache.camel.component.seda.SedaConsumer) throws java.lang.Exception
{
java.util.Set v;
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.component.seda.SedaConsumer v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v := @parameter: org.apache.camel.component.seda.SedaConsumer;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set consumers>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: boolean isMultipleConsumers()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: void updateMulticastProcessor()>();
label:
return;
}
public boolean hasConsumers()
{
int v;
java.util.Set v;
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set consumers>;
v = interfaceinvoke v.<java.util.Set: int size()>();
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected void doStart() throws java.lang.Exception
{
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.BlockingQueue v, v;
java.lang.Integer v;
int v, v;
java.lang.String v, v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
specialinvoke v.<org.apache.camel.impl.DefaultEndpoint: void doStart()>();
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue>;
if v != null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue getQueue()>();
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue> = v;
label:
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: int getPollTimeout()>();
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[])>("\u0001");
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("CamelSedaPollTimeout", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: void setPollTimeout(int)>(v);
return;
}
public void stop() throws java.lang.Exception
{
org.slf4j.Logger v;
java.util.Set v;
org.apache.camel.component.seda.SedaEndpoint v;
boolean v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set getConsumers()>();
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
specialinvoke v.<org.apache.camel.impl.DefaultEndpoint: void stop()>();
goto label;
label:
v = <org.apache.camel.component.seda.SedaEndpoint: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("There is still active consumers.");
label:
return;
}
public void shutdown() throws java.lang.Exception
{
org.slf4j.Logger v, v;
java.util.Set v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.camel.component.seda.SedaEndpoint v;
org.apache.camel.component.seda.SedaComponent v, v;
boolean v, v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.atomic.AtomicBoolean shutdown>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = <org.apache.camel.component.seda.SedaEndpoint: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Service already shut down");
return;
label:
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.component.seda.SedaComponent getComponent()>();
virtualinvoke v.<org.apache.camel.component.seda.SedaComponent: void onShutdownEndpoint(org.apache.camel.component.seda.SedaEndpoint)>(v);
label:
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: java.util.Set getConsumers()>();
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
specialinvoke v.<org.apache.camel.impl.DefaultEndpoint: void shutdown()>();
goto label;
label:
v = <org.apache.camel.component.seda.SedaEndpoint: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("There is still active consumers.");
label:
return;
}
protected void doShutdown() throws java.lang.Exception
{
org.apache.camel.CamelContext v;
org.apache.camel.spi.ExecutorServiceManager v;
org.apache.camel.component.seda.SedaEndpoint v;
java.util.concurrent.ExecutorService v, v;
v := @this: org.apache.camel.component.seda.SedaEndpoint;
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.ExecutorService multicastExecutor>;
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.component.seda.SedaEndpoint: org.apache.camel.CamelContext getCamelContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.ExecutorServiceManager getExecutorServiceManager()>();
v = v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.ExecutorService multicastExecutor>;
interfaceinvoke v.<org.apache.camel.spi.ExecutorServiceManager: java.util.List shutdownNow(java.util.concurrent.ExecutorService)>(v);
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.ExecutorService multicastExecutor> = null;
label:
v.<org.apache.camel.component.seda.SedaEndpoint: java.util.concurrent.BlockingQueue queue> = null;
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/component/seda/SedaEndpoint;");
<org.apache.camel.component.seda.SedaEndpoint: org.slf4j.Logger LOG> = v;
return;
}
}