public class org.apache.activemq.transport.stomp.ProtocolConverter extends java.lang.Object
{
private static final org.slf4j.Logger LOG;
private static final org.apache.activemq.util.IdGenerator CONNECTION_ID_GENERATOR;
private static final java.lang.String BROKER_VERSION;
private static final org.apache.activemq.transport.stomp.StompFrame ping;
private final org.apache.activemq.command.ConnectionId connectionId;
private final org.apache.activemq.command.SessionId sessionId;
private final org.apache.activemq.command.ProducerId producerId;
private final org.apache.activemq.util.LongSequenceGenerator consumerIdGenerator;
private final org.apache.activemq.util.LongSequenceGenerator messageIdGenerator;
private final org.apache.activemq.util.LongSequenceGenerator transactionIdGenerator;
private final org.apache.activemq.util.LongSequenceGenerator tempDestinationGenerator;
private final java.util.concurrent.ConcurrentMap resposeHandlers;
private final java.util.concurrent.ConcurrentMap subscriptionsByConsumerId;
private final java.util.concurrent.ConcurrentMap subscriptions;
private final java.util.concurrent.ConcurrentMap tempDestinations;
private final java.util.concurrent.ConcurrentMap tempDestinationAmqToStompMap;
private final java.util.Map transactions;
private final org.apache.activemq.transport.stomp.StompTransport stompTransport;
private final java.util.concurrent.ConcurrentMap pendingAcksTracker;
private final java.util.Map pendingAcks;
private final java.lang.Object commnadIdMutex;
private int lastCommandId;
private final java.util.concurrent.atomic.AtomicBoolean connected;
private final org.apache.activemq.transport.stomp.FrameTranslator frameTranslator;
private java.util.concurrent.ConcurrentMap jmsFrameTranslators;
private final org.apache.activemq.util.FactoryFinder FRAME_TRANSLATOR_FINDER;
private final org.apache.activemq.broker.BrokerContext brokerContext;
private java.lang.String version;
private long hbReadInterval;
private long hbWriteInterval;
private float hbGracePeriodMultiplier;
private java.lang.String defaultHeartBeat;
org.apache.activemq.command.ConnectionInfo connectionInfo;
public void <init>(org.apache.activemq.transport.stomp.StompTransport, org.apache.activemq.broker.BrokerContext)
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.transport.stomp.LegacyFrameTranslator v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.command.ConnectionInfo v;
java.util.Map v;
org.apache.activemq.util.FactoryFinder v;
java.lang.String v;
org.apache.activemq.transport.stomp.StompTransport v;
org.apache.activemq.command.ConnectionId v, v;
org.apache.activemq.command.SessionId v, v;
java.util.concurrent.ConcurrentHashMap v, v, v, v, v, v, v, v;
org.apache.activemq.broker.BrokerContext v;
org.apache.activemq.command.ProducerId v;
org.apache.activemq.util.LongSequenceGenerator v, v, v, v;
java.lang.Object v;
org.apache.activemq.util.IdGenerator v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompTransport;
v := @parameter: org.apache.activemq.broker.BrokerContext;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.activemq.command.ConnectionId;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.IdGenerator CONNECTION_ID_GENERATOR>;
v = virtualinvoke v.<org.apache.activemq.util.IdGenerator: java.lang.String generateId()>();
specialinvoke v.<org.apache.activemq.command.ConnectionId: void <init>(java.lang.String)>(v);
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId> = v;
v = new org.apache.activemq.command.SessionId;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
specialinvoke v.<org.apache.activemq.command.SessionId: void <init>(org.apache.activemq.command.ConnectionId,long)>(v, -1L);
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.SessionId sessionId> = v;
v = new org.apache.activemq.command.ProducerId;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.SessionId sessionId>;
specialinvoke v.<org.apache.activemq.command.ProducerId: void <init>(org.apache.activemq.command.SessionId,long)>(v, 1L);
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ProducerId producerId> = v;
v = new org.apache.activemq.util.LongSequenceGenerator;
specialinvoke v.<org.apache.activemq.util.LongSequenceGenerator: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.LongSequenceGenerator consumerIdGenerator> = v;
v = new org.apache.activemq.util.LongSequenceGenerator;
specialinvoke v.<org.apache.activemq.util.LongSequenceGenerator: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.LongSequenceGenerator messageIdGenerator> = v;
v = new org.apache.activemq.util.LongSequenceGenerator;
specialinvoke v.<org.apache.activemq.util.LongSequenceGenerator: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.LongSequenceGenerator transactionIdGenerator> = v;
v = new org.apache.activemq.util.LongSequenceGenerator;
specialinvoke v.<org.apache.activemq.util.LongSequenceGenerator: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.LongSequenceGenerator tempDestinationGenerator> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap resposeHandlers> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptionsByConsumerId> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptions> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap tempDestinations> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap tempDestinationAmqToStompMap> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map transactions> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap pendingAcksTracker> = v;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap pendingAcksTracker>;
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map pendingAcks> = v;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.Object commnadIdMutex> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.atomic.AtomicBoolean connected> = v;
v = new org.apache.activemq.transport.stomp.LegacyFrameTranslator;
specialinvoke v.<org.apache.activemq.transport.stomp.LegacyFrameTranslator: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.FrameTranslator frameTranslator> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap jmsFrameTranslators> = v;
v = new org.apache.activemq.util.FactoryFinder;
specialinvoke v.<org.apache.activemq.util.FactoryFinder: void <init>(java.lang.String)>("META-INF/services/org/apache/activemq/transport/frametranslator/");
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.FactoryFinder FRAME_TRANSLATOR_FINDER> = v;
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version> = "1.0";
v.<org.apache.activemq.transport.stomp.ProtocolConverter: float hbGracePeriodMultiplier> = 1.0F;
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String defaultHeartBeat> = "0,0";
v = new org.apache.activemq.command.ConnectionInfo;
specialinvoke v.<org.apache.activemq.command.ConnectionInfo: void <init>()>();
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo> = v;
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.StompTransport stompTransport> = v;
v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.broker.BrokerContext brokerContext> = v;
return;
}
protected int generateCommandId()
{
java.lang.Throwable v;
int v, v;
java.lang.Object v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.Object commnadIdMutex>;
entermonitor v;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: int lastCommandId>;
v = v + 1;
v.<org.apache.activemq.transport.stomp.ProtocolConverter: int lastCommandId> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
protected org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)
{
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.transport.stomp.ProtocolConverter$1 v;
java.util.Map v;
java.lang.Object v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("receipt");
if v == null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolConverter$1;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter$1: void <init>(org.apache.activemq.transport.stomp.ProtocolConverter,org.apache.activemq.transport.stomp.StompFrame,java.lang.String)>(v, v, v);
return v;
label:
return null;
}
protected void sendToActiveMQ(org.apache.activemq.command.Command, org.apache.activemq.transport.stomp.ResponseHandler)
{
org.apache.activemq.transport.stomp.StompTransport v;
org.apache.activemq.command.Command v;
java.lang.Integer v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v;
int v, v;
org.apache.activemq.transport.stomp.ResponseHandler v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.command.Command;
v := @parameter: org.apache.activemq.transport.stomp.ResponseHandler;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: int generateCommandId()>();
interfaceinvoke v.<org.apache.activemq.command.Command: void setCommandId(int)>(v);
if v == null goto label;
interfaceinvoke v.<org.apache.activemq.command.Command: void setResponseRequired(boolean)>(1);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap resposeHandlers>;
v = interfaceinvoke v.<org.apache.activemq.command.Command: int getCommandId()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.StompTransport stompTransport>;
interfaceinvoke v.<org.apache.activemq.transport.stomp.StompTransport: void sendToActiveMQ(org.apache.activemq.command.Command)>(v);
return;
}
protected void sendToStomp(org.apache.activemq.transport.stomp.StompFrame) throws java.io.IOException
{
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.transport.stomp.StompTransport v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.StompTransport stompTransport>;
interfaceinvoke v.<org.apache.activemq.transport.stomp.StompTransport: void sendToStomp(org.apache.activemq.transport.stomp.StompFrame)>(v);
return;
}
protected org.apache.activemq.transport.stomp.FrameTranslator findTranslator(java.lang.String)
{
java.lang.String v;
org.apache.activemq.transport.stomp.FrameTranslator v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.FrameTranslator findTranslator(java.lang.String,org.apache.activemq.command.ActiveMQDestination,boolean)>(v, null, 0);
return v;
}
protected org.apache.activemq.transport.stomp.FrameTranslator findTranslator(java.lang.String, org.apache.activemq.command.ActiveMQDestination, boolean)
{
org.apache.activemq.transport.stomp.JmsFrameTranslator v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.util.FactoryFinder v;
java.lang.String v, v, v;
boolean v, v, v;
org.slf4j.Logger v, v, v;
org.apache.activemq.broker.BrokerContext v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v;
java.lang.Object v;
org.apache.activemq.transport.stomp.FrameTranslator v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: java.lang.String;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: boolean;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.FrameTranslator frameTranslator>;
label:
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap jmsFrameTranslators>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
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[])>("Creating a new FrameTranslator to convert \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.FactoryFinder FRAME_TRANSLATOR_FINDER>;
virtualinvoke v.<org.apache.activemq.util.FactoryFinder: java.lang.Object newInstance(java.lang.String)>(v);
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
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[])>("Failed in creating FrameTranslator to convert \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
goto label;
label:
if v == null goto label;
if v != 0 goto label;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == 0 goto label;
label:
v = new org.apache.activemq.transport.stomp.JmsFrameTranslator;
specialinvoke v.<org.apache.activemq.transport.stomp.JmsFrameTranslator: void <init>()>();
v = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Failed in getting a FrameTranslator to convert ", v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.FrameTranslator frameTranslator>;
label:
v = v instanceof org.apache.activemq.broker.BrokerContextAware;
if v == 0 goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.broker.BrokerContext brokerContext>;
interfaceinvoke v.<org.apache.activemq.broker.BrokerContextAware: void setBrokerContext(org.apache.activemq.broker.BrokerContext)>(v);
label:
return v;
catch java.lang.Exception from label to label with label;
}
public void onStompCommand(org.apache.activemq.transport.stomp.StompFrame) throws java.io.IOException, javax.jms.JMSException
{
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.lang.String v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.transport.stomp.StompTransport v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.transport.stomp.ProtocolException v, v, v;
java.lang.Class v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v != class "Lorg/apache/activemq/transport/stomp/StompFrameError;" goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrameError: org.apache.activemq.transport.stomp.ProtocolException getException()>();
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.lang.String getAction()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("SEND");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompSend(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("ACK");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompAck(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("NACK");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompNack(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("BEGIN");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompBegin(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("COMMIT");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompCommit(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("ABORT");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompAbort(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("SUB");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompSubscribe(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("UNSUB");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompUnsubscribe(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("CONNECT");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("STOMP");
if v == 0 goto label;
label:
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompConnect(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("DISCONNECT");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void onStompDisconnect(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Unknown STOMP action: \u0001");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String,boolean)>(v, 1);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void handleException(java.lang.Throwable,org.apache.activemq.transport.stomp.StompFrame)>(v, v);
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: boolean isFatal()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.StompTransport getStompTransport()>();
interfaceinvoke v.<org.apache.activemq.transport.stomp.StompTransport: void onException(java.io.IOException)>(v);
label:
return;
catch org.apache.activemq.transport.stomp.ProtocolException from label to label with label;
}
protected void handleException(java.lang.Throwable, org.apache.activemq.transport.stomp.StompFrame) throws java.io.IOException
{
org.apache.activemq.util.ByteArrayOutputStream v;
byte[] v;
java.util.Map v;
boolean v, v, v, v, v;
java.io.PrintWriter v;
java.lang.Exception v, v;
org.apache.activemq.transport.stomp.StompFrame v, v;
java.lang.Throwable v, v;
java.lang.Object[] v, v, v;
java.util.HashMap v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
org.apache.activemq.command.ConnectionInfo v, v, v, v, v, v;
java.io.OutputStreamWriter v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: java.lang.Throwable;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
if v != null goto label;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Exception occurred while processing a command: {}", v);
goto label;
label:
v = v instanceof javax.jms.JMSException;
if v == 0 goto label;
v = virtualinvoke v.<javax.jms.JMSException: java.lang.Exception getLinkedException()>();
if v == null goto label;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[5];
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientId()>();
v[0] = v;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientIp()>();
v[1] = v;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.Object safeGetAction(org.apache.activemq.transport.stomp.StompFrame)>(v);
v[2] = v;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String toString()>();
v[3] = v;
v = virtualinvoke v.<javax.jms.JMSException: java.lang.Exception getLinkedException()>();
v = virtualinvoke v.<java.lang.Exception: java.lang.String toString()>();
v[4] = v;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object[])>("Exception occurred for client {} ({}) processing: {} -> {} ({})", v);
goto label;
label:
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientId()>();
v[0] = v;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientIp()>();
v[1] = v;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.Object safeGetAction(org.apache.activemq.transport.stomp.StompFrame)>(v);
v[2] = v;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String toString()>();
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object[])>("Exception occurred for client {} ({}) processing: {} -> {}", v);
goto label;
label:
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientId()>();
v[0] = v;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientIp()>();
v[1] = v;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.Object safeGetAction(org.apache.activemq.transport.stomp.StompFrame)>(v);
v[2] = v;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String toString()>();
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object[])>("Exception occurred for client {} ({}) processing: {} -> {}", v);
label:
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Exception detail", v);
label:
if v == null goto label;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Command that caused the error: {}", v);
label:
v = new org.apache.activemq.util.ByteArrayOutputStream;
specialinvoke v.<org.apache.activemq.util.ByteArrayOutputStream: void <init>()>();
v = new java.io.PrintWriter;
v = new java.io.OutputStreamWriter;
specialinvoke v.<java.io.OutputStreamWriter: void <init>(java.io.OutputStream,java.lang.String)>(v, "UTF-8");
specialinvoke v.<java.io.PrintWriter: void <init>(java.io.Writer)>(v);
v = v instanceof java.lang.SecurityException;
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Throwable: java.lang.Throwable getCause()>();
v = v instanceof java.lang.SecurityException;
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getLocalizedMessage()>();
virtualinvoke v.<java.io.PrintWriter: void write(java.lang.String)>(v);
goto label;
label:
virtualinvoke v.<java.lang.Throwable: void printStackTrace(java.io.PrintWriter)>(v);
label:
virtualinvoke v.<java.io.PrintWriter: void close()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("message", v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("content-type", "text/plain");
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("receipt");
if v == null goto label;
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("receipt-id", v);
label:
v = new org.apache.activemq.transport.stomp.StompFrame;
v = virtualinvoke v.<org.apache.activemq.util.ByteArrayOutputStream: byte[] toByteArray()>();
specialinvoke v.<org.apache.activemq.transport.stomp.StompFrame: void <init>(java.lang.String,java.util.Map,byte[])>("ERROR", v, v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToStomp(org.apache.activemq.transport.stomp.StompFrame)>(v);
return;
}
protected void onStompSend(org.apache.activemq.transport.stomp.StompFrame) throws java.io.IOException, javax.jms.JMSException
{
org.apache.activemq.command.ActiveMQMessage v;
long v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.Map v, v;
java.lang.String v;
org.apache.activemq.transport.stomp.ResponseHandler v;
org.apache.activemq.command.MessageId v;
org.apache.activemq.command.ProducerId v, v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.util.LongSequenceGenerator v;
org.apache.activemq.transport.stomp.ProtocolException v, v;
java.lang.Object v, v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void checkConnected()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("destination");
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("SEND received without a Destination specified!");
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transaction");
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>("transaction");
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ActiveMQMessage convertMessage(org.apache.activemq.transport.stomp.StompFrame)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ProducerId producerId>;
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setProducerId(org.apache.activemq.command.ProducerId)>(v);
v = new org.apache.activemq.command.MessageId;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ProducerId producerId>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.LongSequenceGenerator messageIdGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: long getNextSequenceId()>();
specialinvoke v.<org.apache.activemq.command.MessageId: void <init>(org.apache.activemq.command.ProducerId,long)>(v, v);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setMessageId(org.apache.activemq.command.MessageId)>(v);
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map transactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Invalid transaction id: \u0001");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setTransactionId(org.apache.activemq.command.TransactionId)>(v);
label:
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void onSend()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void beforeMarshall(org.apache.activemq.wireformat.WireFormat)>(null);
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
return;
}
protected void onStompNack(org.apache.activemq.transport.stomp.StompFrame) throws org.apache.activemq.transport.stomp.ProtocolException
{
java.util.Map v, v, v;
org.apache.activemq.transport.stomp.ResponseHandler v, v;
boolean v, v, v, v, v;
org.apache.activemq.command.MessageId v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v;
java.lang.String v, v, v, v, v, v;
org.apache.activemq.command.MessageAck v, v;
org.apache.activemq.transport.stomp.ProtocolException v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void checkConnected()>();
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.0");
if v == 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("NACK received but connection is in v.0 mode.");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("subscription");
if v != null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.2");
if v != 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("NACK received without a subscription id for acknowledge!");
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("message-id");
if v != null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.2");
if v != 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("NACK received without a message-id to acknowledge!");
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("id");
if v != null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.2");
if v == 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("NACK received without an ack header to acknowledge!");
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transaction");
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map transactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Invalid transaction id: \u0001");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
v = 0;
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map pendingAcks>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompAckEntry: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageId: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompAckEntry: org.apache.activemq.command.MessageAck onMessageNack(org.apache.activemq.command.TransactionId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
v = 1;
goto label;
label:
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptions>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: org.apache.activemq.command.MessageAck onStompMessageNack(java.lang.String,org.apache.activemq.command.TransactionId)>(v, v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
v = 1;
label:
if v != 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Unexpected NACK received for message-id [\u]");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
protected void onStompAck(org.apache.activemq.transport.stomp.StompFrame) throws org.apache.activemq.transport.stomp.ProtocolException
{
java.util.Map v, v, v;
org.apache.activemq.transport.stomp.ResponseHandler v, v, v;
boolean v, v, v, v, v;
org.apache.activemq.command.MessageId v;
java.util.Collection v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v, v;
java.lang.String v, v, v, v, v;
org.apache.activemq.command.MessageAck v, v, v;
java.util.Iterator v;
org.apache.activemq.transport.stomp.ProtocolException v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void checkConnected()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("message-id");
if v != null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.2");
if v != 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("ACK received without a message-id to acknowledge!");
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("subscription");
if v != null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.1");
if v == 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("ACK received without a subscription id for acknowledge!");
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("id");
if v != null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.2");
if v == 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("ACK received without a ack id for acknowledge!");
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transaction");
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map transactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Invalid transaction id: \u0001");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
v = 0;
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map pendingAcks>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompAckEntry: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageId: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompAckEntry: org.apache.activemq.command.MessageAck onMessageAck(org.apache.activemq.command.TransactionId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
v = 1;
goto label;
label:
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptions>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: org.apache.activemq.command.MessageAck onStompMessageAck(java.lang.String,org.apache.activemq.command.TransactionId)>(v, v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
v = 1;
goto label;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptionsByConsumerId>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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.activemq.transport.stomp.StompSubscription: org.apache.activemq.command.MessageAck onStompMessageAck(java.lang.String,org.apache.activemq.command.TransactionId)>(v, v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
v = 1;
label:
if v != 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Unexpected ACK received for message-id [\u]");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
protected void onStompBegin(org.apache.activemq.transport.stomp.StompFrame) throws org.apache.activemq.transport.stomp.ProtocolException
{
org.apache.activemq.command.LocalTransactionId v;
long v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.Map v, v, v;
java.lang.String v;
org.apache.activemq.transport.stomp.ResponseHandler v;
boolean v;
org.apache.activemq.command.ConnectionId v, v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.command.TransactionInfo v;
org.apache.activemq.util.LongSequenceGenerator v;
org.apache.activemq.transport.stomp.ProtocolException v, v;
java.lang.Object v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void checkConnected()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transaction");
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("transaction");
if v != 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Must specify the transaction you are beginning");
throw v;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map transactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("The transaction was already started: \u0001");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.apache.activemq.command.LocalTransactionId;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.LongSequenceGenerator transactionIdGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: long getNextSequenceId()>();
specialinvoke v.<org.apache.activemq.command.LocalTransactionId: void <init>(org.apache.activemq.command.ConnectionId,long)>(v, v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map transactions>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = new org.apache.activemq.command.TransactionInfo;
specialinvoke v.<org.apache.activemq.command.TransactionInfo: void <init>()>();
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
virtualinvoke v.<org.apache.activemq.command.TransactionInfo: void setConnectionId(org.apache.activemq.command.ConnectionId)>(v);
virtualinvoke v.<org.apache.activemq.command.TransactionInfo: void setTransactionId(org.apache.activemq.command.TransactionId)>(v);
virtualinvoke v.<org.apache.activemq.command.TransactionInfo: void setType(byte)>(0);
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
return;
}
protected void onStompCommit(org.apache.activemq.transport.stomp.StompFrame) throws org.apache.activemq.transport.stomp.ProtocolException
{
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v;
java.util.Map v, v;
java.lang.String v;
org.apache.activemq.transport.stomp.ResponseHandler v;
boolean v;
java.util.Iterator v;
org.apache.activemq.command.ConnectionId v;
java.util.Collection v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.command.TransactionInfo v;
org.apache.activemq.transport.stomp.ProtocolException v, v;
java.lang.Object v, v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void checkConnected()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transaction");
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Must specify the transaction you are committing");
throw v;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map transactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Invalid transaction id: \u0001");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptionsByConsumerId>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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()>();
virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: void onStompCommit(org.apache.activemq.command.TransactionId)>(v);
goto label;
label:
v = new org.apache.activemq.command.TransactionInfo;
specialinvoke v.<org.apache.activemq.command.TransactionInfo: void <init>()>();
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
virtualinvoke v.<org.apache.activemq.command.TransactionInfo: void setConnectionId(org.apache.activemq.command.ConnectionId)>(v);
virtualinvoke v.<org.apache.activemq.command.TransactionInfo: void setTransactionId(org.apache.activemq.command.TransactionId)>(v);
virtualinvoke v.<org.apache.activemq.command.TransactionInfo: void setType(byte)>(2);
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
return;
}
protected void onStompAbort(org.apache.activemq.transport.stomp.StompFrame) throws org.apache.activemq.transport.stomp.ProtocolException
{
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v;
java.util.Map v, v;
java.lang.String v;
org.apache.activemq.transport.stomp.ResponseHandler v;
boolean v;
java.util.Iterator v;
org.apache.activemq.command.ConnectionId v;
java.util.Collection v;
java.lang.Exception v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.command.TransactionInfo v;
org.apache.activemq.transport.stomp.ProtocolException v, v, v;
java.lang.Object v, v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void checkConnected()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transaction");
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Must specify the transaction you are committing");
throw v;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map transactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Invalid transaction id: \u0001");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptionsByConsumerId>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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()>();
label:
virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: void onStompAbort(org.apache.activemq.command.TransactionId)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String,boolean,java.lang.Throwable)>("Transaction abort failed", 0, v);
throw v;
label:
v = new org.apache.activemq.command.TransactionInfo;
specialinvoke v.<org.apache.activemq.command.TransactionInfo: void <init>()>();
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
virtualinvoke v.<org.apache.activemq.command.TransactionInfo: void setConnectionId(org.apache.activemq.command.ConnectionId)>(v);
virtualinvoke v.<org.apache.activemq.command.TransactionInfo: void setTransactionId(org.apache.activemq.command.TransactionId)>(v);
virtualinvoke v.<org.apache.activemq.command.TransactionInfo: void setType(byte)>(4);
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
return;
catch java.lang.Exception from label to label with label;
}
protected void onStompSubscribe(org.apache.activemq.transport.stomp.StompFrame) throws org.apache.activemq.transport.stomp.ProtocolException
{
org.apache.activemq.command.ConsumerId v;
java.util.Map v, v, v;
org.apache.activemq.transport.stomp.ResponseHandler v;
boolean v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.command.SessionId v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.util.LongSequenceGenerator v;
long v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v, v, v, v;
short v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
org.apache.activemq.command.ConsumerInfo v;
org.apache.activemq.transport.stomp.StompSubscription v, v;
org.apache.activemq.transport.stomp.StompQueueBrowserSubscription v;
org.apache.activemq.transport.stomp.ProtocolConverter$2 v;
org.apache.activemq.transport.stomp.ProtocolException v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v;
org.apache.activemq.transport.stomp.FrameTranslator v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void checkConnected()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transformation");
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.FrameTranslator findTranslator(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("id");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("destination");
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.0");
if v != 0 goto label;
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("SUBSCRIBE received without a subscription id!");
throw v;
label:
if v == null goto label;
v = "";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Invalid empty or \'null\' Destination header");
throw v;
label:
v = interfaceinvoke v.<org.apache.activemq.transport.stomp.FrameTranslator: org.apache.activemq.command.ActiveMQDestination convertDestination(org.apache.activemq.transport.stomp.ProtocolConverter,java.lang.String,boolean)>(v, v, 1);
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Invalid \'null\' Destination.");
throw v;
label:
v = new org.apache.activemq.command.ConsumerId;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.SessionId sessionId>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.LongSequenceGenerator consumerIdGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: long getNextSequenceId()>();
specialinvoke v.<org.apache.activemq.command.ConsumerId: void <init>(org.apache.activemq.command.SessionId,long)>(v, v);
v = new org.apache.activemq.command.ConsumerInfo;
specialinvoke v.<org.apache.activemq.command.ConsumerInfo: void <init>(org.apache.activemq.command.ConsumerId)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isQueue()>();
if v == 0 goto label;
v = 1000;
goto label;
label:
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("activemq.subscriptionName");
if v == 0 goto label;
v = 100;
goto label;
label:
v = 32767;
label:
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setPrefetchSize(int)>(v);
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setDispatchAsync(boolean)>(1);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("browser");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("true");
if v == 0 goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.0");
if v == 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Queue Browser feature only valid for Stomp v.1+ clients!");
throw v;
label:
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setBrowser(boolean)>(1);
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setPrefetchSize(int)>(500);
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>("selector");
if v == null goto label;
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[])>("convert_string_expressions:\u0001");
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setSelector(java.lang.String)>(v);
label:
staticinvoke <org.apache.activemq.util.IntrospectionSupport: boolean setProperties(java.lang.Object,java.util.Map,java.lang.String)>(v, v, "activemq.");
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isQueue()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: java.lang.String getSubscriptionName()>();
if v == null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Invalid Subscription: cannot durably subscribe to a Queue destination!");
throw v;
label:
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setDispatchAsync(boolean)>(1);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: boolean isBrowser()>();
if v != 0 goto label;
v = new org.apache.activemq.transport.stomp.StompSubscription;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transformation");
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap pendingAcksTracker>;
specialinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: void <init>(org.apache.activemq.transport.stomp.ProtocolConverter,java.lang.String,org.apache.activemq.command.ConsumerInfo,java.lang.String,java.util.Map)>(v, v, v, v, v);
v = v;
goto label;
label:
v = new org.apache.activemq.transport.stomp.StompQueueBrowserSubscription;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transformation");
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap pendingAcksTracker>;
specialinvoke v.<org.apache.activemq.transport.stomp.StompQueueBrowserSubscription: void <init>(org.apache.activemq.transport.stomp.ProtocolConverter,java.lang.String,org.apache.activemq.command.ConsumerInfo,java.lang.String,java.util.Map)>(v, v, v, v, v);
v = v;
label:
virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: void setDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("ack");
v = "client";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: void setAckMode(java.lang.String)>("client");
goto label;
label:
v = "client-individual";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: void setAckMode(java.lang.String)>("client-individual");
goto label;
label:
virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: void setAckMode(java.lang.String)>("auto");
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptionsByConsumerId>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptions>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("receipt");
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: int getPrefetchSize()>();
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: int getPrefetchSize()>();
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setPrefetchSize(int)>(0);
v = new org.apache.activemq.transport.stomp.ProtocolConverter$2;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter$2: void <init>(org.apache.activemq.transport.stomp.ProtocolConverter,org.apache.activemq.transport.stomp.StompFrame,java.lang.String,int,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ConsumerId)>(v, v, v, v, v, v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
label:
return;
}
protected void onStompUnsubscribe(org.apache.activemq.transport.stomp.StompFrame) throws org.apache.activemq.transport.stomp.ProtocolException
{
java.util.Map v, v, v;
org.apache.activemq.transport.stomp.ResponseHandler v, v, v;
boolean v, v, v, v;
org.apache.activemq.command.RemoveSubscriptionInfo v;
java.util.Collection v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.command.RemoveInfo v, v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.activemq.command.ConnectionInfo v;
java.lang.String v, v, v;
org.apache.activemq.command.ConsumerInfo v, v;
java.util.Iterator v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.transport.stomp.ProtocolException v, v, v;
java.lang.Object v, v, v, v, v, v;
org.apache.activemq.transport.stomp.FrameTranslator v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void checkConnected()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = null;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("destination");
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transformation");
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.FrameTranslator findTranslator(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.activemq.transport.stomp.FrameTranslator: org.apache.activemq.command.ActiveMQDestination convertDestination(org.apache.activemq.transport.stomp.ProtocolConverter,java.lang.String,boolean)>(v, v, 1);
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("id");
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.0");
if v != 0 goto label;
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("UNSUBSCRIBE received without a subscription id!");
throw v;
label:
if v != null goto label;
if v != null goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Must specify the subscriptionId or the destination you are unsubscribing from");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("activemq.subscriptionName");
v = v;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.0");
if v != 0 goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientId()>();
label:
if v == null goto label;
v = new org.apache.activemq.command.RemoveSubscriptionInfo;
specialinvoke v.<org.apache.activemq.command.RemoveSubscriptionInfo: void <init>()>();
virtualinvoke v.<org.apache.activemq.command.RemoveSubscriptionInfo: void setClientId(java.lang.String)>(v);
virtualinvoke v.<org.apache.activemq.command.RemoveSubscriptionInfo: void setSubscriptionName(java.lang.String)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
virtualinvoke v.<org.apache.activemq.command.RemoveSubscriptionInfo: void setConnectionId(org.apache.activemq.command.ConnectionId)>(v);
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
return;
label:
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptions>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: org.apache.activemq.command.ConsumerInfo getConsumerInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.RemoveInfo createRemoveCommand()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
return;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptionsByConsumerId>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: org.apache.activemq.command.ConsumerInfo getConsumerInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.RemoveInfo createRemoveCommand()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
interfaceinvoke v.<java.util.Iterator: void remove()>();
return;
label:
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("No subscription matched.");
throw v;
}
protected void onStompConnect(org.apache.activemq.transport.stomp.StompFrame) throws org.apache.activemq.transport.stomp.ProtocolException
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
org.apache.activemq.command.ConnectionInfo v, v, v, v, v, v, v, v, v, v, v;
java.util.Map v;
java.lang.String v, v, v, v;
boolean v;
org.apache.activemq.command.ConnectionId v, v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.transport.stomp.ProtocolConverter$3 v;
org.apache.activemq.transport.stomp.ProtocolException v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.atomic.AtomicBoolean connected>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Already connected.");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("login");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("passcode");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("client-id");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("heart-beat");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("host");
if v != null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String defaultHeartBeat>;
label:
v = staticinvoke <org.apache.activemq.transport.stomp.StompCodec: java.lang.String detectVersion(java.util.Map)>(v);
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version> = v;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void configureInactivityMonitor(java.lang.String)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
staticinvoke <org.apache.activemq.util.IntrospectionSupport: boolean setProperties(java.lang.Object,java.util.Map,java.lang.String)>(v, v, "activemq.");
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setConnectionId(org.apache.activemq.command.ConnectionId)>(v);
if v == null goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setClientId(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.command.ConnectionId: java.lang.String toString()>();
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");
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setClientId(java.lang.String)>(v);
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setClientIp(java.lang.String)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setResponseRequired(boolean)>(1);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setUserName(java.lang.String)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setPassword(java.lang.String)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.lang.Object getTransportContext()>();
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setTransportContext(java.lang.Object)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = new org.apache.activemq.transport.stomp.ProtocolConverter$3;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter$3: void <init>(org.apache.activemq.transport.stomp.ProtocolConverter,org.apache.activemq.transport.stomp.StompFrame,java.util.Map)>(v, v, v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
return;
}
protected void onStompDisconnect(org.apache.activemq.transport.stomp.StompFrame) throws org.apache.activemq.transport.stomp.ProtocolException
{
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicBoolean v, v;
java.lang.Integer v;
org.apache.activemq.command.RemoveInfo v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
org.apache.activemq.transport.stomp.StompFrame v;
org.apache.activemq.command.ConnectionInfo v;
org.apache.activemq.command.ShutdownInfo v;
java.util.Map v;
int v;
org.apache.activemq.transport.stomp.ResponseHandler v, v;
boolean v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.atomic.AtomicBoolean connected>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.Map pendingAcks>;
v = interfaceinvoke v.<java.util.Map: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Connection closed with {} pending ACKs still being tracked.", v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionInfo connectionInfo>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.RemoveInfo createRemoveCommand()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
v = new org.apache.activemq.command.ShutdownInfo;
specialinvoke v.<org.apache.activemq.command.ShutdownInfo: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.ResponseHandler createResponseHandler(org.apache.activemq.transport.stomp.StompFrame)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.atomic.AtomicBoolean connected>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
label:
return;
}
protected void checkConnected() throws org.apache.activemq.transport.stomp.ProtocolException
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.transport.stomp.ProtocolException v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
boolean v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.atomic.AtomicBoolean connected>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = new org.apache.activemq.transport.stomp.ProtocolException;
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String)>("Not connected.");
throw v;
label:
return;
}
public void onActiveMQCommand(org.apache.activemq.command.Command) throws java.io.IOException, javax.jms.JMSException
{
java.lang.Throwable v, v;
org.apache.activemq.command.Response v;
java.lang.Integer v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v, v;
byte v, v;
int v;
boolean v, v, v;
org.apache.activemq.transport.stomp.StompTransport v;
org.apache.activemq.command.Command v;
org.apache.activemq.transport.stomp.StompFrame v;
java.lang.Object v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.command.Command;
v = interfaceinvoke v.<org.apache.activemq.command.Command: boolean isResponse()>();
if v == 0 goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap resposeHandlers>;
v = virtualinvoke v.<org.apache.activemq.command.Response: int getCorrelationId()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
interfaceinvoke v.<org.apache.activemq.transport.stomp.ResponseHandler: void onResponse(org.apache.activemq.transport.stomp.ProtocolConverter,org.apache.activemq.command.Response)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.Response: boolean isException()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ExceptionResponse: java.lang.Throwable getException()>();
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void handleException(java.lang.Throwable,org.apache.activemq.transport.stomp.StompFrame)>(v, null);
goto label;
label:
v = interfaceinvoke v.<org.apache.activemq.command.Command: boolean isMessageDispatch()>();
if v == 0 goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap subscriptionsByConsumerId>;
v = virtualinvoke v.<org.apache.activemq.command.MessageDispatch: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
virtualinvoke v.<org.apache.activemq.transport.stomp.StompSubscription: void onMessageDispatch(org.apache.activemq.command.MessageDispatch)>(v);
goto label;
label:
v = interfaceinvoke v.<org.apache.activemq.command.Command: byte getDataStructureType()>();
if v != 10 goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.StompTransport stompTransport>;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.StompFrame ping>;
interfaceinvoke v.<org.apache.activemq.transport.stomp.StompTransport: void sendToStomp(org.apache.activemq.transport.stomp.StompFrame)>(v);
goto label;
label:
v = interfaceinvoke v.<org.apache.activemq.command.Command: byte getDataStructureType()>();
if v != 16 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionError: java.lang.Throwable getException()>();
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void handleException(java.lang.Throwable,org.apache.activemq.transport.stomp.StompFrame)>(v, null);
label:
return;
}
public org.apache.activemq.command.ActiveMQMessage convertMessage(org.apache.activemq.transport.stomp.StompFrame) throws java.io.IOException, javax.jms.JMSException
{
org.apache.activemq.transport.stomp.StompFrame v;
java.util.Map v;
org.apache.activemq.command.ActiveMQMessage v;
java.lang.Object v;
org.apache.activemq.transport.stomp.FrameTranslator v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transformation");
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.FrameTranslator findTranslator(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.activemq.transport.stomp.FrameTranslator: org.apache.activemq.command.ActiveMQMessage convertFrame(org.apache.activemq.transport.stomp.ProtocolConverter,org.apache.activemq.transport.stomp.StompFrame)>(v, v);
return v;
}
public org.apache.activemq.transport.stomp.StompFrame convertMessage(org.apache.activemq.command.ActiveMQMessage, boolean) throws java.io.IOException, javax.jms.JMSException
{
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.transport.stomp.StompFrame v, v;
java.lang.String v;
org.apache.activemq.transport.stomp.FrameTranslator v, v;
boolean v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.command.ActiveMQMessage;
v := @parameter: boolean;
if v != 1 goto label;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.FrameTranslator frameTranslator>;
v = interfaceinvoke v.<org.apache.activemq.transport.stomp.FrameTranslator: org.apache.activemq.transport.stomp.StompFrame convertMessage(org.apache.activemq.transport.stomp.ProtocolConverter,org.apache.activemq.command.ActiveMQMessage)>(v, v);
return v;
label:
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: java.lang.String getStringProperty(java.lang.String)>("transformation");
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: boolean isAdvisory()>();
v = virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.FrameTranslator findTranslator(java.lang.String,org.apache.activemq.command.ActiveMQDestination,boolean)>(v, v, v);
v = interfaceinvoke v.<org.apache.activemq.transport.stomp.FrameTranslator: org.apache.activemq.transport.stomp.StompFrame convertMessage(org.apache.activemq.transport.stomp.ProtocolConverter,org.apache.activemq.command.ActiveMQMessage)>(v, v);
return v;
}
public org.apache.activemq.transport.stomp.StompTransport getStompTransport()
{
org.apache.activemq.transport.stomp.StompTransport v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.StompTransport stompTransport>;
return v;
}
public org.apache.activemq.command.ActiveMQDestination createTempDestination(java.lang.String, boolean)
{
org.apache.activemq.command.ActiveMQTempQueue v;
long v, v;
org.apache.activemq.command.ActiveMQTempTopic v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v, v, v;
org.apache.activemq.command.DestinationInfo v;
java.lang.String v, v;
boolean v;
org.apache.activemq.command.ConnectionId v, v, v;
org.apache.activemq.util.LongSequenceGenerator v, v;
java.lang.Object v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap tempDestinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
if v == 0 goto label;
v = new org.apache.activemq.command.ActiveMQTempTopic;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.LongSequenceGenerator tempDestinationGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: long getNextSequenceId()>();
specialinvoke v.<org.apache.activemq.command.ActiveMQTempTopic: void <init>(org.apache.activemq.command.ConnectionId,long)>(v, v);
v = v;
goto label;
label:
v = new org.apache.activemq.command.ActiveMQTempQueue;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.LongSequenceGenerator tempDestinationGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: long getNextSequenceId()>();
specialinvoke v.<org.apache.activemq.command.ActiveMQTempQueue: void <init>(org.apache.activemq.command.ConnectionId,long)>(v, v);
v = v;
label:
v = new org.apache.activemq.command.DestinationInfo;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.command.ConnectionId connectionId>;
specialinvoke v.<org.apache.activemq.command.DestinationInfo: void <init>(org.apache.activemq.command.ConnectionId,byte,org.apache.activemq.command.ActiveMQDestination)>(v, 0, v);
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.stomp.ResponseHandler)>(v, null);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap tempDestinations>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap tempDestinationAmqToStompMap>;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getQualifiedName()>();
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
public java.lang.String getCreatedTempDestinationName(org.apache.activemq.command.ActiveMQDestination)
{
java.lang.Object v;
java.lang.String v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.util.concurrent.ConcurrentMap tempDestinationAmqToStompMap>;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getQualifiedName()>();
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public java.lang.String getDefaultHeartBeat()
{
java.lang.String v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String defaultHeartBeat>;
return v;
}
public void setDefaultHeartBeat(java.lang.String)
{
java.lang.String v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: java.lang.String;
v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String defaultHeartBeat> = v;
return;
}
public float getHbGracePeriodMultiplier()
{
float v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: float hbGracePeriodMultiplier>;
return v;
}
public void setHbGracePeriodMultiplier(float)
{
float v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: float;
v.<org.apache.activemq.transport.stomp.ProtocolConverter: float hbGracePeriodMultiplier> = v;
return;
}
protected void configureInactivityMonitor(java.lang.String) throws org.apache.activemq.transport.stomp.ProtocolException
{
java.lang.String[] v;
long v, v, v, v, v, v, v, v, v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
java.lang.Long v, v;
int v;
java.lang.String v, v, v, v, v;
boolean v;
org.slf4j.Logger v, v;
org.apache.activemq.transport.stomp.StompTransport v;
java.lang.NumberFormatException v;
org.apache.activemq.transport.stomp.StompInactivityMonitor v;
java.lang.Exception v;
float v, v;
org.apache.activemq.transport.stomp.ProtocolException v, v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(",");
if v == null goto label;
v = lengthof v;
if v == 2 goto label;
label:
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Invalid heart-beat header:\u0001");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String,boolean)>(v, 1);
throw v;
label:
v = v[0];
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbReadInterval> = v;
v = v[1];
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbWriteInterval> = v;
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.activemq.transport.stomp.ProtocolException;
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[])>("Invalid heart-beat header:\u0001");
specialinvoke v.<org.apache.activemq.transport.stomp.ProtocolException: void <init>(java.lang.String,boolean)>(v, 1);
throw v;
label:
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.StompTransport stompTransport>;
v = interfaceinvoke v.<org.apache.activemq.transport.stomp.StompTransport: org.apache.activemq.transport.stomp.StompInactivityMonitor getInactivityMonitor()>();
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbReadInterval>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: float hbGracePeriodMultiplier>;
v = v * v;
virtualinvoke v.<org.apache.activemq.transport.stomp.StompInactivityMonitor: void setReadCheckTime(long)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbReadInterval>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbWriteInterval>;
v = staticinvoke <java.lang.Math: long min(long,long)>(v, v);
virtualinvoke v.<org.apache.activemq.transport.stomp.StompInactivityMonitor: void setInitialDelayTime(long)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbWriteInterval>;
virtualinvoke v.<org.apache.activemq.transport.stomp.StompInactivityMonitor: void setWriteCheckTime(long)>(v);
virtualinvoke v.<org.apache.activemq.transport.stomp.StompInactivityMonitor: void startMonitoring()>();
label:
goto label;
label:
v := @caughtexception;
v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbReadInterval> = 0L;
v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbWriteInterval> = 0L;
label:
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbReadInterval>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: long hbWriteInterval>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Stomp Connect heartbeat conf RW[{},{}]", v, v);
label:
return;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected void sendReceipt(org.apache.activemq.transport.stomp.StompFrame)
{
org.slf4j.Logger v;
java.io.IOException v;
java.util.HashMap v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
org.apache.activemq.transport.stomp.StompFrame v, v;
java.util.Map v, v;
java.lang.Object v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("receipt");
if v == null goto label;
v = new org.apache.activemq.transport.stomp.StompFrame;
specialinvoke v.<org.apache.activemq.transport.stomp.StompFrame: void <init>()>();
virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: void setAction(java.lang.String)>("RECEIPT");
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(int)>(1);
virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: void setHeaders(java.util.Map)>(v);
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.util.Map getHeaders()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("receipt-id", v);
label:
virtualinvoke v.<org.apache.activemq.transport.stomp.ProtocolConverter: void sendToStomp(org.apache.activemq.transport.stomp.StompFrame)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Could not send a receipt for {}", v, v);
label:
return;
catch java.io.IOException from label to label with label;
}
protected java.lang.Object safeGetAction(org.apache.activemq.transport.stomp.StompFrame)
{
org.apache.activemq.transport.stomp.ProtocolConverter v;
byte v;
int v;
java.lang.String v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.transport.stomp.StompFrame v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v := @parameter: org.apache.activemq.transport.stomp.StompFrame;
v = "<Unknown>";
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.lang.String getAction()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.stomp.StompFrame: java.lang.String getAction()>();
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
if v == null goto label;
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case -1558724943: goto label;
case -993530582: goto label;
case 64617: goto label;
case 82464: goto label;
case 2388315: goto label;
case 2541448: goto label;
case 62073616: goto label;
case 63078537: goto label;
case 79233073: goto label;
case 80905447: goto label;
case 1015497884: goto label;
case 1669334218: goto label;
case 1993481527: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("SEND");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("ACK");
if v == 0 goto label;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("NACK");
if v == 0 goto label;
v = 2;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("BEGIN");
if v == 0 goto label;
v = 3;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("COMMIT");
if v == 0 goto label;
v = 4;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("ABORT");
if v == 0 goto label;
v = 5;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("SUBSCRIBE");
if v == 0 goto label;
v = 6;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("UNSUBSCRIBE");
if v == 0 goto label;
v = 7;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("CONNECT");
if v == 0 goto label;
v = 8;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("STOMP");
if v == 0 goto label;
v = 9;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("DISCONNECT");
if v == 0 goto label;
v = 10;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("SUB");
if v == 0 goto label;
v = 11;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("UNSUB");
if v == 0 goto label;
v = 12;
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
default: goto label;
};
label:
v = v;
goto label;
label:
v = "UNSUBSCRIBE";
label:
return v;
}
boolean isStomp10()
{
java.lang.String v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
boolean v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.0");
return v;
}
boolean isStomp11()
{
java.lang.String v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
boolean v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.1");
return v;
}
boolean isStomp12()
{
java.lang.String v;
org.apache.activemq.transport.stomp.ProtocolConverter v;
boolean v;
v := @this: org.apache.activemq.transport.stomp.ProtocolConverter;
v = v.<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String version>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.2");
return v;
}
static void <clinit>()
{
java.lang.Throwable v, v, v;
org.slf4j.Logger v;
java.io.InputStreamReader v;
java.lang.Exception v;
org.apache.activemq.transport.stomp.StompFrame v;
java.lang.Class v;
org.apache.activemq.util.IdGenerator v;
java.io.BufferedReader v;
java.lang.String v;
java.io.InputStream v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/transport/stomp/ProtocolConverter;");
<org.apache.activemq.transport.stomp.ProtocolConverter: org.slf4j.Logger LOG> = v;
v = new org.apache.activemq.util.IdGenerator;
specialinvoke v.<org.apache.activemq.util.IdGenerator: void <init>()>();
<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.util.IdGenerator CONNECTION_ID_GENERATOR> = v;
v = new org.apache.activemq.transport.stomp.StompFrame;
specialinvoke v.<org.apache.activemq.transport.stomp.StompFrame: void <init>(java.lang.String)>("KEEPALIVE");
<org.apache.activemq.transport.stomp.ProtocolConverter: org.apache.activemq.transport.stomp.StompFrame ping> = v;
v = "5.6.0";
label:
v = class "Lorg/apache/activemq/transport/stomp/ProtocolConverter;";
v = virtualinvoke v.<java.lang.Class: java.io.InputStream getResourceAsStream(java.lang.String)>("/org/apache/activemq/version.txt");
label:
if v == null goto label;
v = new java.io.InputStreamReader;
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
label:
v = new java.io.BufferedReader;
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.InputStreamReader: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
label:
<org.apache.activemq.transport.stomp.ProtocolConverter: java.lang.String BROKER_VERSION> = v;
return;
catch java.lang.Throwable 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;
catch java.lang.Exception from label to label with label;
}
}