public class org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy extends org.apache.activemq.broker.region.policy.AbstractDeadLetterStrategy
{
private java.lang.String topicPrefix;
private java.lang.String queuePrefix;
private java.lang.String topicSuffix;
private java.lang.String queueSuffix;
private boolean useQueueForQueueMessages;
private boolean useQueueForTopicMessages;
private boolean destinationPerDurableSubscriber;
public void <init>()
{
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
specialinvoke v.<org.apache.activemq.broker.region.policy.AbstractDeadLetterStrategy: void <init>()>();
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String topicPrefix> = "ActiveMQ.DLQ.Topic.";
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String queuePrefix> = "ActiveMQ.DLQ.Queue.";
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean useQueueForQueueMessages> = 1;
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean useQueueForTopicMessages> = 1;
return;
}
public org.apache.activemq.command.ActiveMQDestination getDeadLetterQueueFor(org.apache.activemq.command.Message, org.apache.activemq.broker.region.Subscription)
{
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
org.apache.activemq.command.ActiveMQDestination v, v, v;
org.apache.activemq.command.Message v;
java.lang.String v, v, v, v;
boolean v, v, v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v := @parameter: org.apache.activemq.command.Message;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isQueue()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String queuePrefix>;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String queueSuffix>;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean useQueueForQueueMessages>;
v = virtualinvoke v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: org.apache.activemq.command.ActiveMQDestination createDestination(org.apache.activemq.command.Message,java.lang.String,java.lang.String,boolean,org.apache.activemq.broker.region.Subscription)>(v, v, v, v, v);
return v;
label:
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String topicPrefix>;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String topicSuffix>;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean useQueueForTopicMessages>;
v = virtualinvoke v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: org.apache.activemq.command.ActiveMQDestination createDestination(org.apache.activemq.command.Message,java.lang.String,java.lang.String,boolean,org.apache.activemq.broker.region.Subscription)>(v, v, v, v, v);
return v;
}
public java.lang.String getQueuePrefix()
{
java.lang.String v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String queuePrefix>;
return v;
}
public void setQueuePrefix(java.lang.String)
{
java.lang.String v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v := @parameter: java.lang.String;
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String queuePrefix> = v;
return;
}
public java.lang.String getTopicPrefix()
{
java.lang.String v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String topicPrefix>;
return v;
}
public void setTopicPrefix(java.lang.String)
{
java.lang.String v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v := @parameter: java.lang.String;
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String topicPrefix> = v;
return;
}
public java.lang.String getQueueSuffix()
{
java.lang.String v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String queueSuffix>;
return v;
}
public void setQueueSuffix(java.lang.String)
{
java.lang.String v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v := @parameter: java.lang.String;
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String queueSuffix> = v;
return;
}
public java.lang.String getTopicSuffix()
{
java.lang.String v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String topicSuffix>;
return v;
}
public void setTopicSuffix(java.lang.String)
{
java.lang.String v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v := @parameter: java.lang.String;
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: java.lang.String topicSuffix> = v;
return;
}
public boolean isUseQueueForQueueMessages()
{
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
boolean v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean useQueueForQueueMessages>;
return v;
}
public void setUseQueueForQueueMessages(boolean)
{
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
boolean v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean useQueueForQueueMessages> = v;
return;
}
public boolean isUseQueueForTopicMessages()
{
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
boolean v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean useQueueForTopicMessages>;
return v;
}
public void setUseQueueForTopicMessages(boolean)
{
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
boolean v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean useQueueForTopicMessages> = v;
return;
}
public boolean isDestinationPerDurableSubscriber()
{
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
boolean v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean destinationPerDurableSubscriber>;
return v;
}
public void setDestinationPerDurableSubscriber(boolean)
{
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
boolean v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean destinationPerDurableSubscriber> = v;
return;
}
protected org.apache.activemq.command.ActiveMQDestination createDestination(org.apache.activemq.command.Message, java.lang.String, java.lang.String, boolean, org.apache.activemq.broker.region.Subscription)
{
org.apache.activemq.command.Message$MessageDestination v;
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.util.SubscriptionKey v;
org.apache.activemq.command.ActiveMQQueue v;
org.apache.activemq.command.Message v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v, v, v;
org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy v;
org.apache.activemq.command.ActiveMQDestination v, v, v, v, v;
org.apache.activemq.command.ActiveMQTopic v;
v := @this: org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy;
v := @parameter: org.apache.activemq.command.Message;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message$MessageDestination getRegionDestination()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getPhysicalName()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getPhysicalName()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getPhysicalName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u0001\u0001");
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getPhysicalName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u0001\u0001");
label:
v = v.<org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy: boolean destinationPerDurableSubscriber>;
if v == 0 goto label;
v = v instanceof org.apache.activemq.broker.region.DurableTopicSubscription;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.DurableTopicSubscription: org.apache.activemq.util.SubscriptionKey getSubscriptionKey()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,org.apache.activemq.util.SubscriptionKey)>(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[])>("\u.\u0001");
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u0001\u0001");
label:
if v == 0 goto label;
v = new org.apache.activemq.command.ActiveMQQueue;
specialinvoke v.<org.apache.activemq.command.ActiveMQQueue: void <init>(java.lang.String)>(v);
return v;
label:
v = new org.apache.activemq.command.ActiveMQTopic;
specialinvoke v.<org.apache.activemq.command.ActiveMQTopic: void <init>(java.lang.String)>(v);
return v;
}
}