public class org.apache.activemq.advisory.DestinationSource extends java.lang.Object implements javax.jms.MessageListener
{
private static final org.slf4j.Logger LOG;
private java.util.concurrent.atomic.AtomicBoolean started;
private final javax.jms.Connection connection;
private javax.jms.Session session;
private javax.jms.MessageConsumer queueConsumer;
private javax.jms.MessageConsumer topicConsumer;
private javax.jms.MessageConsumer tempTopicConsumer;
private javax.jms.MessageConsumer tempQueueConsumer;
private java.util.Set queues;
private java.util.Set topics;
private java.util.Set temporaryQueues;
private java.util.Set temporaryTopics;
private org.apache.activemq.advisory.DestinationListener listener;
public void <init>(javax.jms.Connection) throws javax.jms.JMSException
{
javax.jms.Connection v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.concurrent.CopyOnWriteArraySet v, v, v, v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v := @parameter: javax.jms.Connection;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.activemq.advisory.DestinationSource: java.util.concurrent.atomic.AtomicBoolean started> = v;
v = new java.util.concurrent.CopyOnWriteArraySet;
specialinvoke v.<java.util.concurrent.CopyOnWriteArraySet: void <init>()>();
v.<org.apache.activemq.advisory.DestinationSource: java.util.Set queues> = v;
v = new java.util.concurrent.CopyOnWriteArraySet;
specialinvoke v.<java.util.concurrent.CopyOnWriteArraySet: void <init>()>();
v.<org.apache.activemq.advisory.DestinationSource: java.util.Set topics> = v;
v = new java.util.concurrent.CopyOnWriteArraySet;
specialinvoke v.<java.util.concurrent.CopyOnWriteArraySet: void <init>()>();
v.<org.apache.activemq.advisory.DestinationSource: java.util.Set temporaryQueues> = v;
v = new java.util.concurrent.CopyOnWriteArraySet;
specialinvoke v.<java.util.concurrent.CopyOnWriteArraySet: void <init>()>();
v.<org.apache.activemq.advisory.DestinationSource: java.util.Set temporaryTopics> = v;
v.<org.apache.activemq.advisory.DestinationSource: javax.jms.Connection connection> = v;
return;
}
public org.apache.activemq.advisory.DestinationListener getListener()
{
org.apache.activemq.advisory.DestinationListener v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v = v.<org.apache.activemq.advisory.DestinationSource: org.apache.activemq.advisory.DestinationListener listener>;
return v;
}
public void setDestinationListener(org.apache.activemq.advisory.DestinationListener)
{
org.apache.activemq.advisory.DestinationListener v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v := @parameter: org.apache.activemq.advisory.DestinationListener;
v.<org.apache.activemq.advisory.DestinationSource: org.apache.activemq.advisory.DestinationListener listener> = v;
return;
}
public java.util.Set getQueues()
{
java.util.Set v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set queues>;
return v;
}
public java.util.Set getTopics()
{
java.util.Set v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set topics>;
return v;
}
public java.util.Set getTemporaryQueues()
{
java.util.Set v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set temporaryQueues>;
return v;
}
public java.util.Set getTemporaryTopics()
{
java.util.Set v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set temporaryTopics>;
return v;
}
public void start() throws javax.jms.JMSException
{
java.util.concurrent.atomic.AtomicBoolean v;
javax.jms.Session v, v, v, v, v;
boolean v;
javax.jms.Connection v;
org.apache.activemq.command.ActiveMQTopic v, v, v, v;
javax.jms.MessageConsumer v, v, v, v, v, v, v, v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.Connection connection>;
v = interfaceinvoke v.<javax.jms.Connection: javax.jms.Session createSession(boolean,int)>(0, 1);
v.<org.apache.activemq.advisory.DestinationSource: javax.jms.Session session> = v;
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.Session session>;
v = <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic QUEUE_ADVISORY_TOPIC>;
v = interfaceinvoke v.<javax.jms.Session: javax.jms.MessageConsumer createConsumer(javax.jms.Destination)>(v);
v.<org.apache.activemq.advisory.DestinationSource: javax.jms.MessageConsumer queueConsumer> = v;
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.MessageConsumer queueConsumer>;
interfaceinvoke v.<javax.jms.MessageConsumer: void setMessageListener(javax.jms.MessageListener)>(v);
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.Session session>;
v = <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic TOPIC_ADVISORY_TOPIC>;
v = interfaceinvoke v.<javax.jms.Session: javax.jms.MessageConsumer createConsumer(javax.jms.Destination)>(v);
v.<org.apache.activemq.advisory.DestinationSource: javax.jms.MessageConsumer topicConsumer> = v;
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.MessageConsumer topicConsumer>;
interfaceinvoke v.<javax.jms.MessageConsumer: void setMessageListener(javax.jms.MessageListener)>(v);
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.Session session>;
v = <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic TEMP_QUEUE_ADVISORY_TOPIC>;
v = interfaceinvoke v.<javax.jms.Session: javax.jms.MessageConsumer createConsumer(javax.jms.Destination)>(v);
v.<org.apache.activemq.advisory.DestinationSource: javax.jms.MessageConsumer tempQueueConsumer> = v;
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.MessageConsumer tempQueueConsumer>;
interfaceinvoke v.<javax.jms.MessageConsumer: void setMessageListener(javax.jms.MessageListener)>(v);
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.Session session>;
v = <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic TEMP_TOPIC_ADVISORY_TOPIC>;
v = interfaceinvoke v.<javax.jms.Session: javax.jms.MessageConsumer createConsumer(javax.jms.Destination)>(v);
v.<org.apache.activemq.advisory.DestinationSource: javax.jms.MessageConsumer tempTopicConsumer> = v;
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.MessageConsumer tempTopicConsumer>;
interfaceinvoke v.<javax.jms.MessageConsumer: void setMessageListener(javax.jms.MessageListener)>(v);
label:
return;
}
public void stop() throws javax.jms.JMSException
{
javax.jms.Session v, v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(1, 0);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.Session session>;
if v == null goto label;
v = v.<org.apache.activemq.advisory.DestinationSource: javax.jms.Session session>;
interfaceinvoke v.<javax.jms.Session: void close()>();
label:
return;
}
public void onMessage(javax.jms.Message)
{
org.slf4j.Logger v, v;
org.apache.activemq.advisory.DestinationEvent v;
org.apache.activemq.command.DataStructure v;
java.lang.String v, v;
javax.jms.Message v;
boolean v, v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v := @parameter: javax.jms.Message;
v = v instanceof org.apache.activemq.command.ActiveMQMessage;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: org.apache.activemq.command.DataStructure getDataStructure()>();
v = v instanceof org.apache.activemq.command.DestinationInfo;
if v == 0 goto label;
v = new org.apache.activemq.advisory.DestinationEvent;
specialinvoke v.<org.apache.activemq.advisory.DestinationEvent: void <init>(org.apache.activemq.advisory.DestinationSource,org.apache.activemq.command.DestinationInfo)>(v, v);
virtualinvoke v.<org.apache.activemq.advisory.DestinationSource: void fireDestinationEvent(org.apache.activemq.advisory.DestinationEvent)>(v);
goto label;
label:
v = <org.apache.activemq.advisory.DestinationSource: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.DataStructure)>(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[])>("Unknown dataStructure: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
goto label;
label:
v = <org.apache.activemq.advisory.DestinationSource: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.jms.Message)>(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[])>("Unknown message type: \u. Message ignored");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
label:
return;
}
protected void fireDestinationEvent(org.apache.activemq.advisory.DestinationEvent)
{
org.apache.activemq.advisory.DestinationEvent v;
java.lang.String v;
boolean v, v, v, v, v;
org.apache.activemq.advisory.DestinationListener v, v;
org.slf4j.Logger v;
java.util.Set v, v, v, v, v, v, v, v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.advisory.DestinationSource v;
v := @this: org.apache.activemq.advisory.DestinationSource;
v := @parameter: org.apache.activemq.advisory.DestinationEvent;
v = virtualinvoke v.<org.apache.activemq.advisory.DestinationEvent: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.advisory.DestinationEvent: boolean isAddOperation()>();
v = v instanceof org.apache.activemq.command.ActiveMQQueue;
if v == 0 goto label;
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set queues>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set queues>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
goto label;
label:
v = v instanceof org.apache.activemq.command.ActiveMQTopic;
if v == 0 goto label;
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set topics>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set topics>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
goto label;
label:
v = v instanceof org.apache.activemq.command.ActiveMQTempQueue;
if v == 0 goto label;
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set temporaryQueues>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set temporaryQueues>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
goto label;
label:
v = v instanceof org.apache.activemq.command.ActiveMQTempTopic;
if v == 0 goto label;
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set temporaryTopics>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.activemq.advisory.DestinationSource: java.util.Set temporaryTopics>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
goto label;
label:
v = <org.apache.activemq.advisory.DestinationSource: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ActiveMQDestination)>(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[])>("Unknown destination type: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
label:
v = v.<org.apache.activemq.advisory.DestinationSource: org.apache.activemq.advisory.DestinationListener listener>;
if v == null goto label;
v = v.<org.apache.activemq.advisory.DestinationSource: org.apache.activemq.advisory.DestinationListener listener>;
interfaceinvoke v.<org.apache.activemq.advisory.DestinationListener: void onDestinationEvent(org.apache.activemq.advisory.DestinationEvent)>(v);
label:
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/advisory/ConsumerEventSource;");
<org.apache.activemq.advisory.DestinationSource: org.slf4j.Logger LOG> = v;
return;
}
}