public class org.apache.activemq.broker.TransportConnection extends java.lang.Object implements org.apache.activemq.broker.Connection, org.apache.activemq.thread.Task, org.apache.activemq.state.CommandVisitor
{
private static final org.slf4j.Logger LOG;
private static final org.slf4j.Logger TRANSPORTLOG;
private static final org.slf4j.Logger SERVICELOG;
protected final org.apache.activemq.broker.Broker broker;
protected final org.apache.activemq.broker.BrokerService brokerService;
protected final org.apache.activemq.broker.TransportConnector connector;
protected final java.util.Map brokerConnectionStates;
protected org.apache.activemq.command.BrokerInfo brokerInfo;
protected final java.util.List dispatchQueue;
protected org.apache.activemq.thread.TaskRunner taskRunner;
protected final java.util.concurrent.atomic.AtomicReference transportException;
protected java.util.concurrent.atomic.AtomicBoolean dispatchStopped;
private final org.apache.activemq.transport.Transport transport;
private org.apache.activemq.security.MessageAuthorizationPolicy messageAuthorizationPolicy;
private org.apache.activemq.command.WireFormatInfo wireFormatInfo;
private boolean inServiceException;
private final org.apache.activemq.broker.region.ConnectionStatistics statistics;
private boolean manageable;
private boolean slow;
private boolean markedCandidate;
private boolean blockedCandidate;
private boolean blocked;
private boolean connected;
private boolean active;
private static final int NEW;
private static final int STARTING;
private static final int STARTED;
private static final int PENDING_STOP;
private final java.util.concurrent.atomic.AtomicInteger status;
private long timeStamp;
private final java.util.concurrent.atomic.AtomicBoolean stopping;
private final java.util.concurrent.CountDownLatch stopped;
private final java.util.concurrent.atomic.AtomicBoolean asyncException;
private final java.util.Map producerExchanges;
private final java.util.Map consumerExchanges;
private final java.util.concurrent.CountDownLatch dispatchStoppedLatch;
private org.apache.activemq.broker.ConnectionContext context;
private boolean networkConnection;
private boolean faultTolerantConnection;
private final java.util.concurrent.atomic.AtomicInteger protocolVersion;
private org.apache.activemq.network.DemandForwardingBridge duplexBridge;
private final org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory;
private final org.apache.activemq.thread.TaskRunnerFactory stopTaskRunnerFactory;
private org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister;
private final java.util.concurrent.locks.ReentrantReadWriteLock serviceLock;
private java.lang.String duplexNetworkConnectorId;
public void <init>(org.apache.activemq.broker.TransportConnector, org.apache.activemq.transport.Transport, org.apache.activemq.broker.Broker, org.apache.activemq.thread.TaskRunnerFactory, org.apache.activemq.thread.TaskRunnerFactory)
{
org.apache.activemq.broker.TransportConnection$1 v;
org.apache.activemq.security.MessageAuthorizationPolicy v;
org.apache.activemq.broker.SingleTransportConnectionStateRegister v;
java.util.concurrent.atomic.AtomicInteger v, v;
java.util.Map v;
boolean v;
org.apache.activemq.broker.BrokerService v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.transport.Transport v, v, v, v;
java.util.concurrent.CountDownLatch v, v;
org.apache.activemq.broker.region.ConnectorStatistics v;
org.apache.activemq.thread.TaskRunnerFactory v, v;
org.apache.activemq.broker.region.ConnectionStatistics v, v;
java.util.concurrent.atomic.AtomicBoolean v, v, v;
java.util.HashMap v, v;
java.util.concurrent.locks.ReentrantReadWriteLock v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.activemq.broker.Broker v, v;
org.apache.activemq.broker.TransportConnector v;
java.util.LinkedList v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.broker.TransportConnector;
v := @parameter: org.apache.activemq.transport.Transport;
v := @parameter: org.apache.activemq.broker.Broker;
v := @parameter: org.apache.activemq.thread.TaskRunnerFactory;
v := @parameter: org.apache.activemq.thread.TaskRunnerFactory;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue> = v;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicReference transportException> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean dispatchStopped> = v;
v = new org.apache.activemq.broker.region.ConnectionStatistics;
specialinvoke v.<org.apache.activemq.broker.region.ConnectionStatistics: void <init>()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.region.ConnectionStatistics statistics> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(0);
v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean stopping> = v;
v = new java.util.concurrent.CountDownLatch;
specialinvoke v.<java.util.concurrent.CountDownLatch: void <init>(int)>(1);
v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.CountDownLatch stopped> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean asyncException> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.activemq.broker.TransportConnection: java.util.Map producerExchanges> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.activemq.broker.TransportConnection: java.util.Map consumerExchanges> = v;
v = new java.util.concurrent.CountDownLatch;
specialinvoke v.<java.util.concurrent.CountDownLatch: void <init>(int)>(1);
v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.CountDownLatch dispatchStoppedLatch> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(12);
v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger protocolVersion> = v;
v = new org.apache.activemq.broker.SingleTransportConnectionStateRegister;
specialinvoke v.<org.apache.activemq.broker.SingleTransportConnectionStateRegister: void <init>()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister> = v;
v = new java.util.concurrent.locks.ReentrantReadWriteLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: void <init>()>();
v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.locks.ReentrantReadWriteLock serviceLock> = v;
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector> = v;
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker> = v;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.BrokerService brokerService> = v;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.broker.Broker getAdaptor(java.lang.Class)>(class "Lorg/apache/activemq/broker/region/RegionBroker;");
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map getConnectionStates()>();
v.<org.apache.activemq.broker.TransportConnection: java.util.Map brokerConnectionStates> = v;
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.region.ConnectionStatistics statistics>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: org.apache.activemq.broker.region.ConnectorStatistics getStatistics()>();
virtualinvoke v.<org.apache.activemq.broker.region.ConnectionStatistics: void setParent(org.apache.activemq.broker.region.ConnectorStatistics)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: org.apache.activemq.security.MessageAuthorizationPolicy getMessageAuthorizationPolicy()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.security.MessageAuthorizationPolicy messageAuthorizationPolicy> = v;
label:
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory> = v;
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunnerFactory stopTaskRunnerFactory> = v;
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport> = v;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = v instanceof org.apache.activemq.broker.BrokerServiceAware;
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.BrokerService brokerService>;
interfaceinvoke v.<org.apache.activemq.broker.BrokerServiceAware: void setBrokerService(org.apache.activemq.broker.BrokerService)>(v);
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = new org.apache.activemq.broker.TransportConnection$1;
specialinvoke v.<org.apache.activemq.broker.TransportConnection$1: void <init>(org.apache.activemq.broker.TransportConnection)>(v);
interfaceinvoke v.<org.apache.activemq.transport.Transport: void setTransportListener(org.apache.activemq.transport.TransportListener)>(v);
v.<org.apache.activemq.broker.TransportConnection: boolean connected> = 1;
return;
}
public int getDispatchQueueSize()
{
java.lang.Throwable v;
java.util.List v, v;
org.apache.activemq.broker.TransportConnection v;
int v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
v = interfaceinvoke v.<java.util.List: int size()>();
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public void serviceTransportException(java.io.IOException)
{
java.lang.Object[] v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.concurrent.atomic.AtomicReference v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.activemq.broker.TransportConnector v;
int v;
java.lang.String v, v;
boolean v, v, v, v, v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v, v, v, v, v;
java.io.IOException v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: java.io.IOException;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v == 3 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicReference transportException>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger TRANSPORTLOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger TRANSPORTLOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("{} failed: {}", v);
goto label;
label:
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger TRANSPORTLOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isWarnEnabled()>();
if v == 0 goto label;
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: boolean suppressed(java.io.IOException)>(v);
if v != 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: boolean isDisplayStackTrace()>();
if v == 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger TRANSPORTLOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("{} failed", v, v);
goto label;
label:
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger TRANSPORTLOG>;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("{} failed: {}", v, v);
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stopAsync(java.lang.Throwable)>(v);
label:
return;
}
private boolean suppressed(java.io.IOException)
{
org.apache.activemq.broker.TransportConnection v;
java.io.IOException v;
org.apache.activemq.broker.TransportConnector v;
int v, v;
java.lang.String v;
boolean v, v, v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: java.io.IOException;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: boolean isWarnOnRemoteClose()>();
if v != 0 goto label;
v = v instanceof java.net.SocketException;
if v == 0 goto label;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>("reset");
v = (int) -1;
if v != v goto label;
label:
v = v instanceof java.io.EOFException;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void serviceExceptionAsync(java.io.IOException)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnection$2 v;
java.util.concurrent.atomic.AtomicBoolean v;
java.io.IOException v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: java.io.IOException;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean asyncException>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = new org.apache.activemq.broker.TransportConnection$2;
specialinvoke v.<org.apache.activemq.broker.TransportConnection$2: void <init>(org.apache.activemq.broker.TransportConnection,java.lang.String,java.io.IOException)>(v, "Async Exception Handler", v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection$2: void start()>();
label:
return;
}
public void serviceException(java.lang.Throwable)
{
java.lang.Throwable v, v;
java.util.concurrent.atomic.AtomicBoolean v, v;
java.util.concurrent.atomic.AtomicReference v;
java.util.concurrent.atomic.AtomicInteger v;
java.lang.Thread v;
int v;
java.lang.String v, v;
boolean v, v, v, v, v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v, v, v, v;
org.apache.activemq.command.ConnectionError v, v;
java.lang.InterruptedException v;
java.lang.Class v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: java.lang.Throwable;
v = v instanceof java.io.IOException;
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void serviceTransportException(java.io.IOException)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v != class "Lorg/apache/activemq/broker/BrokerStoppedException;" goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Broker has been stopped.  Notifying client and closing his connection.");
v = new org.apache.activemq.command.ConnectionError;
specialinvoke v.<org.apache.activemq.command.ConnectionError: void <init>()>();
virtualinvoke v.<org.apache.activemq.command.ConnectionError: void setException(java.lang.Throwable)>(v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatchSync(org.apache.activemq.command.Command)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicReference transportException>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
label:
staticinvoke <java.lang.Thread: void sleep(long)>(500L);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stopAsync()>();
goto label;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: boolean inServiceException>;
if v != 0 goto label;
v.<org.apache.activemq.broker.TransportConnection: boolean inServiceException> = 1;
label:
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Async error occurred: {}", v, v);
goto label;
label:
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Async error occurred", v);
label:
v = new org.apache.activemq.command.ConnectionError;
specialinvoke v.<org.apache.activemq.command.ConnectionError: void <init>()>();
virtualinvoke v.<org.apache.activemq.command.ConnectionError: void setException(java.lang.Throwable)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v != 3 goto label;
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatchSync(org.apache.activemq.command.Command)>(v);
goto label;
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatchAsync(org.apache.activemq.command.Command)>(v);
label:
v.<org.apache.activemq.broker.TransportConnection: boolean inServiceException> = 0;
goto label;
label:
v := @caughtexception;
v.<org.apache.activemq.broker.TransportConnection: boolean inServiceException> = 0;
throw v;
label:
return;
catch java.lang.InterruptedException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public org.apache.activemq.command.Response service(org.apache.activemq.command.Command)
{
org.apache.activemq.broker.ConnectionContext v, v, v;
java.util.concurrent.atomic.AtomicInteger v;
java.net.URI v;
boolean v, v, v, v, v, v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.transport.Transport v;
java.lang.Throwable v, v, v, v;
org.apache.activemq.command.Response v, v;
java.lang.Object[] v, v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.activemq.broker.TransportConnector v;
int v, v;
java.lang.String v, v, v, v, v;
org.slf4j.Logger v, v, v, v;
org.apache.activemq.command.Command v;
org.apache.activemq.command.ExceptionResponse v, v;
java.lang.Class v;
java.lang.Object v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.Command;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: java.net.URI getUri()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
staticinvoke <org.slf4j.MDC: void put(java.lang.String,java.lang.String)>("activemq.connector", v);
v = null;
v = interfaceinvoke v.<org.apache.activemq.command.Command: boolean isResponseRequired()>();
v = interfaceinvoke v.<org.apache.activemq.command.Command: int getCommandId()>();
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v == 3 goto label;
v = interfaceinvoke v.<org.apache.activemq.command.Command: org.apache.activemq.command.Response visit(org.apache.activemq.state.CommandVisitor)>(v);
goto label;
label:
v = new org.apache.activemq.command.ExceptionResponse;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicReference transportException>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
specialinvoke v.<org.apache.activemq.command.ExceptionResponse: void <init>(java.lang.Throwable)>(v);
v = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v == class "Lorg/apache/activemq/broker/BrokerStoppedException;" goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
v = newarray (java.lang.Object)[4];
if v == 0 goto label;
v = "sync";
goto label;
label:
v = "async";
label:
v[0] = v;
v[1] = v;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Error occurred while processing {} command: {}, exception: {}", v);
label:
v = v instanceof org.apache.activemq.broker.SuppressReplyException;
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Throwable: java.lang.Throwable getCause()>();
v = v instanceof org.apache.activemq.broker.SuppressReplyException;
if v == 0 goto label;
label:
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v = virtualinvoke v.<java.lang.Throwable: java.lang.Throwable getCause()>();
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("Suppressing reply to: {} on: {}, cause: {}", v);
v = 0;
label:
if v == 0 goto label;
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 = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = interfaceinvoke v.<org.apache.activemq.transport.Transport: java.lang.String getRemoteAddress()>();
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Security Error occurred on connection to: {}, {}", v, v);
label:
v = new org.apache.activemq.command.ExceptionResponse;
specialinvoke v.<org.apache.activemq.command.ExceptionResponse: void <init>(java.lang.Throwable)>(v);
v = v;
goto label;
label:
specialinvoke v.<org.apache.activemq.broker.TransportConnection: void forceRollbackOnlyOnFailedAsyncTransactionOp(java.lang.Throwable,org.apache.activemq.command.Command)>(v, v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void serviceException(java.lang.Throwable)>(v);
label:
if v == 0 goto label;
if v != null goto label;
v = new org.apache.activemq.command.Response;
specialinvoke v.<org.apache.activemq.command.Response: void <init>()>();
v = v;
label:
virtualinvoke v.<org.apache.activemq.command.Response: void setCorrelationId(int)>(v);
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: boolean isDontSendReponse()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setDontSendReponse(boolean)>(0);
v = null;
label:
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = null;
label:
staticinvoke <org.slf4j.MDC: void remove(java.lang.String)>("activemq.connector");
return v;
catch java.lang.Throwable from label to label with label;
}
private void forceRollbackOnlyOnFailedAsyncTransactionOp(java.lang.Throwable, org.apache.activemq.command.Command)
{
java.lang.Throwable v;
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v;
org.apache.activemq.command.Command v;
org.apache.activemq.transaction.Transaction v;
boolean v, v, v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: java.lang.Throwable;
v := @parameter: org.apache.activemq.command.Command;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isRollbackOnlyOnAsyncException()>();
if v == 0 goto label;
v = v instanceof java.io.IOException;
if v != 0 goto label;
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: boolean isInTransaction(org.apache.activemq.command.Command)>(v);
if v == 0 goto label;
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transaction.Transaction getActiveTransaction(org.apache.activemq.command.Command)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transaction.Transaction: boolean isRollbackOnly()>();
if v != 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("on async exception, force rollback of transaction for: {}", v, v);
virtualinvoke v.<org.apache.activemq.transaction.Transaction: void setRollbackOnly(java.lang.Throwable)>(v);
label:
return;
}
private org.apache.activemq.transaction.Transaction getActiveTransaction(org.apache.activemq.command.Command)
{
org.apache.activemq.command.ConsumerId v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.command.TransactionId v, v;
boolean v, v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v;
org.apache.activemq.command.Command v;
org.apache.activemq.broker.ConsumerBrokerExchange v;
java.lang.Exception v;
org.apache.activemq.command.ProducerId v;
java.lang.Object v;
org.apache.activemq.broker.ProducerBrokerExchange v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.Command;
label:
v = v instanceof org.apache.activemq.command.Message;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ProducerId getProducerId()>();
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ProducerBrokerExchange getProducerBrokerExchange(org.apache.activemq.command.ProducerId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: org.apache.activemq.broker.ConnectionContext getConnectionContext()>();
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: java.util.concurrent.ConcurrentMap getTransactions()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.TransactionId getTransactionId()>();
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
goto label;
label:
v = v instanceof org.apache.activemq.command.MessageAck;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConsumerBrokerExchange getConsumerBrokerExchange(org.apache.activemq.command.ConsumerId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConsumerBrokerExchange: org.apache.activemq.broker.ConnectionContext getConnectionContext()>();
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: java.util.concurrent.ConcurrentMap getTransactions()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.TransactionId getTransactionId()>();
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("failed to find active transaction for command: {}", v, v);
label:
return v;
catch java.lang.Exception from label to label with label;
}
private boolean isInTransaction(org.apache.activemq.command.Command)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.Command v;
boolean v, v, v, v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.Command;
v = v instanceof org.apache.activemq.command.Message;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: boolean isInTransaction()>();
if v != 0 goto label;
label:
v = v instanceof org.apache.activemq.command.MessageAck;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: boolean isInTransaction()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public org.apache.activemq.command.Response processKeepAlive(org.apache.activemq.command.KeepAliveInfo) throws java.lang.Exception
{
org.apache.activemq.command.KeepAliveInfo v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.KeepAliveInfo;
return null;
}
public org.apache.activemq.command.Response processRemoveSubscription(org.apache.activemq.command.RemoveSubscriptionInfo) throws java.lang.Exception
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.RemoveSubscriptionInfo v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.ConnectionId v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.RemoveSubscriptionInfo;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.command.RemoveSubscriptionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeSubscription(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.RemoveSubscriptionInfo)>(v, v);
return null;
}
public org.apache.activemq.command.Response processWireFormat(org.apache.activemq.command.WireFormatInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
org.apache.activemq.command.WireFormatInfo v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.WireFormatInfo;
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.WireFormatInfo wireFormatInfo> = v;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger protocolVersion>;
v = virtualinvoke v.<org.apache.activemq.command.WireFormatInfo: int getVersion()>();
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: void set(int)>(v);
return null;
}
public org.apache.activemq.command.Response processShutdown(org.apache.activemq.command.ShutdownInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ShutdownInfo v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ShutdownInfo;
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stopAsync()>();
return null;
}
public org.apache.activemq.command.Response processFlush(org.apache.activemq.command.FlushCommand) throws java.lang.Exception
{
org.apache.activemq.command.FlushCommand v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.FlushCommand;
return null;
}
public org.apache.activemq.command.Response processBeginTransaction(org.apache.activemq.command.TransactionInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.state.TransactionState v;
org.apache.activemq.command.ConnectionId v;
java.lang.NullPointerException v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.TransactionInfo v;
org.apache.activemq.command.TransactionId v, v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.TransactionInfo;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = null;
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
label:
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("Context is null");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.TransactionState getTransactionState(org.apache.activemq.command.TransactionId)>(v);
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: void addTransactionState(org.apache.activemq.command.TransactionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void beginTransaction(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.TransactionId)>(v, v);
label:
return null;
}
public int getActiveTransactionCount()
{
org.apache.activemq.broker.TransportConnection v;
java.util.Iterator v;
java.util.Collection v;
java.util.List v;
org.apache.activemq.broker.TransportConnectionStateRegister v;
int v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = 0;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: java.util.List listConnectionStates()>();
v = interfaceinvoke v.<java.util.List: 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.broker.TransportConnectionState: java.util.Collection getTransactionStates()>();
v = interfaceinvoke v.<java.util.Collection: int size()>();
v = v + v;
goto label;
label:
return v;
}
public java.lang.Long getOldestActiveTransactionDuration()
{
long v, v, v, v, v;
org.apache.activemq.broker.TransportConnectionStateRegister v;
byte v;
java.lang.Long v;
boolean v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.state.TransactionState v;
java.util.Iterator v, v;
java.util.Collection v;
java.util.List v;
java.lang.Object v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = null;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: java.util.List listConnectionStates()>();
v = interfaceinvoke v.<java.util.List: 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.broker.TransportConnectionState: java.util.Collection getTransactionStates()>();
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.state.TransactionState: long getCreatedAt()>();
v = virtualinvoke v.<org.apache.activemq.state.TransactionState: long getCreatedAt()>();
v = v cmp v;
if v >= 0 goto label;
label:
v = v;
goto label;
label:
if v != null goto label;
return null;
label:
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = virtualinvoke v.<org.apache.activemq.state.TransactionState: long getCreatedAt()>();
v = v - v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
}
public org.apache.activemq.command.Response processEndTransaction(org.apache.activemq.command.TransactionInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.TransactionInfo v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.TransactionInfo;
return null;
}
public org.apache.activemq.command.Response processPrepareTransaction(org.apache.activemq.command.TransactionInfo) throws java.lang.Exception
{
java.lang.IllegalStateException v;
java.lang.NullPointerException v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v, v;
int v, v;
java.lang.String v;
org.apache.activemq.command.TransactionId v, v, v, v;
boolean v;
org.apache.activemq.command.IntegerResponse v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.state.TransactionState v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.TransactionInfo v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.TransactionInfo;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = null;
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
label:
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("Context is null");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.TransactionState getTransactionState(org.apache.activemq.command.TransactionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.TransactionId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot prepare a transaction that had not been started or previously returned XA_RDONLY: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.state.TransactionState: boolean isPrepared()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.state.TransactionState: void setPrepared(boolean)>(1);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: int prepareTransaction(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.TransactionId)>(v, v);
virtualinvoke v.<org.apache.activemq.state.TransactionState: void setPreparedResult(int)>(v);
if v != 3 goto label;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.TransactionState removeTransactionState(org.apache.activemq.command.TransactionId)>(v);
label:
v = new org.apache.activemq.command.IntegerResponse;
specialinvoke v.<org.apache.activemq.command.IntegerResponse: void <init>(int)>(v);
return v;
label:
v = new org.apache.activemq.command.IntegerResponse;
v = virtualinvoke v.<org.apache.activemq.state.TransactionState: int getPreparedResult()>();
specialinvoke v.<org.apache.activemq.command.IntegerResponse: void <init>(int)>(v);
return v;
}
public org.apache.activemq.command.Response processCommitTransactionOnePhase(org.apache.activemq.command.TransactionInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.TransactionInfo v;
org.apache.activemq.command.TransactionId v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.TransactionInfo;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.TransactionState removeTransactionState(org.apache.activemq.command.TransactionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void commitTransaction(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.TransactionId,boolean)>(v, v, 1);
return null;
}
public org.apache.activemq.command.Response processCommitTransactionTwoPhase(org.apache.activemq.command.TransactionInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.TransactionInfo v;
org.apache.activemq.command.TransactionId v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.TransactionInfo;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.TransactionState removeTransactionState(org.apache.activemq.command.TransactionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void commitTransaction(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.TransactionId,boolean)>(v, v, 0);
return null;
}
public org.apache.activemq.command.Response processRollbackTransaction(org.apache.activemq.command.TransactionInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.TransactionInfo v;
org.apache.activemq.command.TransactionId v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.TransactionInfo;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.TransactionState removeTransactionState(org.apache.activemq.command.TransactionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void rollbackTransaction(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.TransactionId)>(v, v);
return null;
}
public org.apache.activemq.command.Response processForgetTransaction(org.apache.activemq.command.TransactionInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.TransactionInfo v;
org.apache.activemq.command.TransactionId v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.TransactionInfo;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.TransactionId getTransactionId()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void forgetTransaction(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.TransactionId)>(v, v);
return null;
}
public org.apache.activemq.command.Response processRecoverTransactions(org.apache.activemq.command.TransactionInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.command.TransactionId[] v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.TransactionInfo v;
org.apache.activemq.command.DataArrayResponse v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.TransactionInfo;
v = virtualinvoke v.<org.apache.activemq.command.TransactionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.command.TransactionId[] getPreparedTransactions(org.apache.activemq.broker.ConnectionContext)>(v);
v = new org.apache.activemq.command.DataArrayResponse;
specialinvoke v.<org.apache.activemq.command.DataArrayResponse: void <init>(org.apache.activemq.command.DataStructure[])>(v);
return v;
}
public org.apache.activemq.command.Response processMessage(org.apache.activemq.command.Message) throws java.lang.Exception
{
org.apache.activemq.command.ProducerId v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.command.Message v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.ProducerBrokerExchange v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.Message;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ProducerId getProducerId()>();
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ProducerBrokerExchange getProducerBrokerExchange(org.apache.activemq.command.ProducerId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: boolean canDispatch(org.apache.activemq.command.Message)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void send(org.apache.activemq.broker.ProducerBrokerExchange,org.apache.activemq.command.Message)>(v, v);
label:
return null;
}
public org.apache.activemq.command.Response processMessageAck(org.apache.activemq.command.MessageAck) throws java.lang.Exception
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.MessageAck v;
org.slf4j.Logger v;
org.apache.activemq.broker.ConsumerBrokerExchange v;
org.apache.activemq.command.ConsumerId v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.MessageAck;
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConsumerBrokerExchange getConsumerBrokerExchange(org.apache.activemq.command.ConsumerId)>(v);
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void acknowledge(org.apache.activemq.broker.ConsumerBrokerExchange,org.apache.activemq.command.MessageAck)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: boolean isInTransaction()>();
if v == 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("no matching consumer {}, ignoring ack {}", v, v);
label:
return null;
}
public org.apache.activemq.command.Response processMessagePull(org.apache.activemq.command.MessagePull) throws java.lang.Exception
{
org.apache.activemq.command.Response v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.command.MessagePull v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.MessagePull;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.command.MessagePull: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConsumerId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.command.Response messagePull(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.MessagePull)>(v, v);
return v;
}
public org.apache.activemq.command.Response processMessageDispatchNotification(org.apache.activemq.command.MessageDispatchNotification) throws java.lang.Exception
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.MessageDispatchNotification v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.MessageDispatchNotification;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void processDispatchNotification(org.apache.activemq.command.MessageDispatchNotification)>(v);
return null;
}
public org.apache.activemq.command.Response processAddDestination(org.apache.activemq.command.DestinationInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.DestinationInfo v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.DestinationInfo;
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void addDestinationInfo(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.DestinationInfo)>(v, v);
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isTemporary()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: void addTempDestination(org.apache.activemq.command.DestinationInfo)>(v);
label:
return null;
}
public org.apache.activemq.command.Response processRemoveDestination(org.apache.activemq.command.DestinationInfo) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.DestinationInfo v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.DestinationInfo;
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeDestinationInfo(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.DestinationInfo)>(v, v);
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isTemporary()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: void removeTempDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
label:
return null;
}
public org.apache.activemq.command.Response processAddProducer(org.apache.activemq.command.ProducerInfo) throws java.lang.Exception
{
java.lang.IllegalStateException v, v, v, v;
org.apache.activemq.broker.Broker v, v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.state.SessionState v;
org.apache.activemq.broker.TransportConnector v, v;
int v, v, v;
java.lang.String v, v, v;
boolean v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.command.SessionId v;
java.util.Set v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ProducerId v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.ProducerInfo v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ProducerInfo;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ProducerId getProducerId()>();
v = virtualinvoke v.<org.apache.activemq.command.ProducerId: org.apache.activemq.command.SessionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.command.SessionId: org.apache.activemq.command.ConnectionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ConnectionId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot add a producer to a connection that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState getSessionState(org.apache.activemq.command.SessionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.SessionId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot add a producer to a session that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.state.SessionState: java.util.Set getProducerIds()>();
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ProducerId getProducerId()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: int getProducerCount(org.apache.activemq.command.ConnectionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: int getMaximumProducersAllowedPerConnection()>();
if v < v goto label;
v = new java.lang.IllegalStateException;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: int getMaximumProducersAllowedPerConnection()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ConnectionId,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t add producer on connection \u0001: at maximum limit: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void addProducer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ProducerInfo)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.state.SessionState: void addProducer(org.apache.activemq.command.ProducerInfo)>(v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeProducer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ProducerInfo)>(v, v);
label:
return null;
catch java.lang.IllegalStateException from label to label with label;
}
public org.apache.activemq.command.Response processRemoveProducer(org.apache.activemq.command.ProducerId) throws java.lang.Exception
{
java.lang.IllegalStateException v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.command.SessionId v;
org.apache.activemq.command.ProducerId v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.state.ProducerState v;
org.apache.activemq.state.SessionState v;
org.apache.activemq.command.ProducerInfo v;
java.lang.String v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ProducerId;
v = virtualinvoke v.<org.apache.activemq.command.ProducerId: org.apache.activemq.command.SessionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.command.SessionId: org.apache.activemq.command.ConnectionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState getSessionState(org.apache.activemq.command.SessionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.SessionId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot remove a producer from a session that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.state.SessionState: org.apache.activemq.state.ProducerState removeProducer(org.apache.activemq.command.ProducerId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ProducerId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot remove a producer that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
specialinvoke v.<org.apache.activemq.broker.TransportConnection: void removeProducerBrokerExchange(org.apache.activemq.command.ProducerId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v = virtualinvoke v.<org.apache.activemq.state.ProducerState: org.apache.activemq.command.ProducerInfo getInfo()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeProducer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ProducerInfo)>(v, v);
return null;
}
public org.apache.activemq.command.Response processAddConsumer(org.apache.activemq.command.ConsumerInfo) throws java.lang.Exception
{
java.lang.IllegalStateException v, v, v, v;
org.apache.activemq.command.ConsumerId v, v, v;
org.apache.activemq.broker.Broker v, v, v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.state.SessionState v;
org.apache.activemq.broker.TransportConnector v, v;
int v, v, v;
java.lang.String v, v, v, v;
org.apache.activemq.command.ConsumerInfo v;
boolean v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.command.SessionId v;
java.util.Set v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.TransportConnectionState v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConsumerInfo;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerId: org.apache.activemq.command.SessionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.command.SessionId: org.apache.activemq.command.ConnectionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ConnectionId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot add a consumer to a connection that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState getSessionState(org.apache.activemq.command.SessionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: java.lang.String getBrokerName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,org.apache.activemq.command.SessionId)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u Cannot add a consumer to a session that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.state.SessionState: java.util.Set getConsumerIds()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
if v == null goto label;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: int getConsumerCount(org.apache.activemq.command.ConnectionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: int getMaximumConsumersAllowedPerConnection()>();
if v < v goto label;
v = new java.lang.IllegalStateException;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: int getMaximumConsumersAllowedPerConnection()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ConnectionId,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t add consumer on connection \u0001: at maximum limit: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.broker.region.Subscription addConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.state.SessionState: void addConsumer(org.apache.activemq.command.ConsumerInfo)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
specialinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConsumerBrokerExchange addConsumerBrokerExchange(org.apache.activemq.broker.TransportConnectionState,org.apache.activemq.command.ConsumerId)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
label:
return null;
catch java.lang.IllegalStateException from label to label with label;
}
public org.apache.activemq.command.Response processRemoveConsumer(org.apache.activemq.command.ConsumerId, long) throws java.lang.Exception
{
java.lang.IllegalStateException v, v, v;
long v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.state.ConsumerState v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.state.SessionState v;
java.lang.String v, v, v;
org.apache.activemq.command.ConsumerInfo v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.command.SessionId v;
org.apache.activemq.broker.TransportConnectionState v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConsumerId;
v := @parameter: long;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerId: org.apache.activemq.command.SessionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.command.SessionId: org.apache.activemq.command.ConnectionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ConnectionId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot remove a consumer from a connection that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState getSessionState(org.apache.activemq.command.SessionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.SessionId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot remove a consumer from a session that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.state.SessionState: org.apache.activemq.state.ConsumerState removeConsumer(org.apache.activemq.command.ConsumerId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ConsumerId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot remove a consumer that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.state.ConsumerState: org.apache.activemq.command.ConsumerInfo getInfo()>();
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setLastDeliveredSequenceId(long)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v = virtualinvoke v.<org.apache.activemq.state.ConsumerState: org.apache.activemq.command.ConsumerInfo getInfo()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
specialinvoke v.<org.apache.activemq.broker.TransportConnection: void removeConsumerBrokerExchange(org.apache.activemq.command.ConsumerId)>(v);
return null;
}
public org.apache.activemq.command.Response processAddSession(org.apache.activemq.command.SessionInfo) throws java.lang.Exception
{
java.lang.IllegalStateException v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.command.SessionId v, v, v;
java.util.Set v;
org.apache.activemq.broker.Broker v, v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.SessionInfo v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.SessionInfo;
v = virtualinvoke v.<org.apache.activemq.command.SessionInfo: org.apache.activemq.command.SessionId getSessionId()>();
v = virtualinvoke v.<org.apache.activemq.command.SessionId: org.apache.activemq.command.ConnectionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: java.util.Set getSessionIds()>();
v = virtualinvoke v.<org.apache.activemq.command.SessionInfo: org.apache.activemq.command.SessionId getSessionId()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void addSession(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.SessionInfo)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: void addSession(org.apache.activemq.command.SessionInfo)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.command.SessionInfo: org.apache.activemq.command.SessionId getSessionId()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to add session: {}", v, v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeSession(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.SessionInfo)>(v, v);
label:
return null;
catch java.lang.IllegalStateException from label to label with label;
}
public org.apache.activemq.command.Response processRemoveSession(org.apache.activemq.command.SessionId, long) throws java.lang.Exception
{
java.lang.Throwable v, v;
java.lang.IllegalStateException v, v;
long v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.state.SessionState v;
org.apache.activemq.command.SessionInfo v;
java.lang.String v, v;
boolean v, v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v, v;
java.util.Iterator v, v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.command.SessionId v;
java.util.Set v, v;
org.apache.activemq.broker.TransportConnectionState v;
java.lang.Object v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.SessionId;
v := @parameter: long;
v = virtualinvoke v.<org.apache.activemq.command.SessionId: org.apache.activemq.command.ConnectionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ConnectionId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot remove session from connection that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState getSessionState(org.apache.activemq.command.SessionId)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.SessionId)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot remove session that had not been registered: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<org.apache.activemq.state.SessionState: void shutdown()>();
v = virtualinvoke v.<org.apache.activemq.state.SessionState: java.util.Set getConsumerIds()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.Response processRemoveConsumer(org.apache.activemq.command.ConsumerId,long)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to remove consumer: {}", v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.state.SessionState: java.util.Set getProducerIds()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.Response processRemoveProducer(org.apache.activemq.command.ProducerId)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to remove producer: {}", v, v);
goto label;
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState removeSession(org.apache.activemq.command.SessionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v = virtualinvoke v.<org.apache.activemq.state.SessionState: org.apache.activemq.command.SessionInfo getInfo()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeSession(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.SessionInfo)>(v, v);
return null;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public org.apache.activemq.command.Response processAddConnection(org.apache.activemq.command.ConnectionInfo) throws java.lang.Exception
{
org.apache.activemq.command.ConnectionControl v;
org.apache.activemq.broker.ConnectionContext v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Map v, v, v, v, v;
java.lang.Exception v;
org.apache.activemq.command.WireFormatInfo v, v, v;
java.lang.Throwable v, v, v;
java.lang.Object[] v, v;
org.apache.activemq.broker.Broker v, v, v;
org.apache.activemq.command.ConnectionInfo v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.security.MessageAuthorizationPolicy v;
boolean v, v, v, v, v, v, v, v, v;
org.apache.activemq.broker.TransportConnection v, v, v, v, v;
java.util.concurrent.ConcurrentHashMap v;
org.apache.activemq.broker.TransportConnector v, v;
int v;
org.slf4j.Logger v, v, v, v;
org.apache.activemq.command.ConnectionId v, v, v, v, v, v, v, v;
java.lang.Object v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionInfo;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.WireFormatInfo wireFormatInfo>;
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.WireFormatInfo wireFormatInfo>;
v = virtualinvoke v.<org.apache.activemq.command.WireFormatInfo: int getVersion()>();
if v > 2 goto label;
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setClientMaster(boolean)>(1);
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map brokerConnectionStates>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map brokerConnectionStates>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new org.apache.activemq.broker.TransportConnectionState;
specialinvoke v.<org.apache.activemq.broker.TransportConnectionState: void <init>(org.apache.activemq.command.ConnectionInfo,org.apache.activemq.broker.TransportConnection)>(v, v);
v = v;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map brokerConnectionStates>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: int incrementReference()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: java.lang.Object getConnectionMutex()>();
entermonitor v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.TransportConnection getConnection()>();
if v == v goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.TransportConnection getConnection()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.lang.String getRemoteAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Killing previous stale connection: {}", v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.TransportConnection getConnection()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stop()>();
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.lang.String getRemoteAddress()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.TransportConnection getConnection()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.lang.String getRemoteAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Connection {} taking over previous connection: {}", v, v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: void setConnection(org.apache.activemq.broker.TransportConnection)>(v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: void reset(org.apache.activemq.command.ConnectionInfo)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState registerConnectionState(org.apache.activemq.command.ConnectionId,org.apache.activemq.broker.TransportConnectionState)>(v, v);
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v[0] = v;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.lang.String getRemoteAddress()>();
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Setting up new connection id: {}, address: {}, info: {}", v);
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: boolean isFaultTolerant()>();
v.<org.apache.activemq.broker.TransportConnection: boolean faultTolerantConnection> = v;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientId()>();
v = new org.apache.activemq.broker.ConnectionContext;
specialinvoke v.<org.apache.activemq.broker.ConnectionContext: void <init>()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setBroker(org.apache.activemq.broker.Broker)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setClientId(java.lang.String)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: boolean isClientMaster()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setClientMaster(boolean)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setConnection(org.apache.activemq.broker.Connection)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setConnectionId(org.apache.activemq.command.ConnectionId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setConnector(org.apache.activemq.broker.Connector)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.security.MessageAuthorizationPolicy getMessageAuthorizationPolicy()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setMessageAuthorizationPolicy(org.apache.activemq.security.MessageAuthorizationPolicy)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = v.<org.apache.activemq.broker.TransportConnection: boolean networkConnection>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setNetworkConnection(boolean)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = v.<org.apache.activemq.broker.TransportConnection: boolean faultTolerantConnection>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setFaultTolerant(boolean)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setTransactions(java.util.concurrent.ConcurrentMap)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getUserName()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setUserName(java.lang.String)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.WireFormatInfo wireFormatInfo>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setWireFormatInfo(org.apache.activemq.command.WireFormatInfo)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: boolean isFailoverReconnect()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setReconnect(boolean)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: boolean isManageable()>();
v.<org.apache.activemq.broker.TransportConnection: boolean manageable> = v;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setConnectionState(org.apache.activemq.state.ConnectionState)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: void setContext(org.apache.activemq.broker.ConnectionContext)>(v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: void setConnection(org.apache.activemq.broker.TransportConnection)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientIp()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.lang.String getRemoteAddress()>();
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setClientIp(java.lang.String)>(v);
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void addConnection(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConnectionInfo)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map brokerConnectionStates>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map brokerConnectionStates>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState unregisterConnectionState(org.apache.activemq.command.ConnectionId)>(v);
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v[0] = v;
v[1] = v;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientIp()>();
v[2] = v;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getLocalizedMessage()>();
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object[])>("Failed to add Connection id={}, clientId={}, clientIP={} due to {}", v);
v = virtualinvoke v.<java.lang.Exception: java.lang.String getLocalizedMessage()>();
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 with SecurityException: \u0001");
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void delayedStop(int,java.lang.String,java.lang.Throwable)>(2000, v, v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: boolean isManageable()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: org.apache.activemq.command.ConnectionControl getConnectionControl()>();
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: boolean isFaultTolerantConfiguration()>();
virtualinvoke v.<org.apache.activemq.command.ConnectionControl: void setFaultTolerant(boolean)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: boolean isFailoverReconnect()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.command.ConnectionControl: void setRebalanceConnection(boolean)>(0);
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatchAsync(org.apache.activemq.command.Command)>(v);
label:
return null;
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;
catch java.lang.Throwable from label to label with label;
}
public synchronized org.apache.activemq.command.Response processRemoveConnection(org.apache.activemq.command.ConnectionId, long) throws java.lang.InterruptedException
{
org.apache.activemq.broker.ConnectionContext v, v;
java.util.Map v, v;
boolean v, v;
org.apache.activemq.broker.TransportConnection v;
java.util.Set v;
org.apache.activemq.command.ActiveMQDestination v, v;
java.util.List v;
java.lang.Throwable v, v, v, v;
long v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.activemq.broker.Broker v, v;
org.apache.activemq.command.ConnectionInfo v, v;
int v;
org.slf4j.Logger v, v, v, v;
java.util.Iterator v, v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.broker.TransportConnectionState v, v;
java.lang.Object v, v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionId;
v := @parameter: long;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("remove connection id: {}", v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
if v == null goto label;
virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: void shutdown()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: java.util.Set getSessionIds()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.Response processRemoveSession(org.apache.activemq.command.SessionId,long)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to remove session {}", v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: java.util.List getTempDestinations()>();
v = interfaceinvoke v.<java.util.List: 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:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,long)>(v, v, 0L);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to remove tmp destination {}", v, v);
label:
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.command.ConnectionInfo getInfo()>();
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicReference transportException>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeConnection(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConnectionInfo,java.lang.Throwable)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.command.ConnectionInfo getInfo()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to remove connection {}", v, v);
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState unregisterConnectionState(org.apache.activemq.command.ConnectionId)>(v);
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map brokerConnectionStates>;
entermonitor v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: int decrementReference()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map brokerConnectionStates>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return null;
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.Throwable from label to label with label;
}
public org.apache.activemq.command.Response processProducerAck(org.apache.activemq.command.ProducerAck) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ProducerAck v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ProducerAck;
return null;
}
public org.apache.activemq.broker.Connector getConnector()
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnector v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
return v;
}
public void dispatchSync(org.apache.activemq.command.Command)
{
java.io.IOException v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.Command v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.Command;
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void processDispatch(org.apache.activemq.command.Command)>(v);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void serviceExceptionAsync(java.io.IOException)>(v);
label:
return;
catch java.io.IOException from label to label with label;
}
public void dispatchAsync(org.apache.activemq.command.Command)
{
java.lang.Throwable v;
org.apache.activemq.transport.TransmitCallback v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.Command v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.List v, v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.thread.TaskRunner v, v;
java.lang.InterruptedException v;
java.lang.Thread v;
boolean v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.Command;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunner taskRunner>;
if v != null goto label;
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatchSync(org.apache.activemq.command.Command)>(v);
goto label;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunner taskRunner>;
interfaceinvoke v.<org.apache.activemq.thread.TaskRunner: void wakeup()>();
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
goto label;
label:
v = interfaceinvoke v.<org.apache.activemq.command.Command: boolean isMessageDispatch()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.MessageDispatch: org.apache.activemq.transport.TransmitCallback getTransmitCallback()>();
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void postProcessDispatch(org.apache.activemq.command.MessageDispatch)>(v);
if v == null goto label;
interfaceinvoke v.<org.apache.activemq.transport.TransmitCallback: void onFailure()>();
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.InterruptedException from label to label with label;
}
protected void processDispatch(org.apache.activemq.command.Command) throws java.io.IOException
{
java.lang.Throwable v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.broker.Broker v, v, v, v;
byte v;
java.lang.Byte v;
boolean v, v, v;
org.apache.activemq.transport.TransmitCallback v, v, v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v, v;
org.apache.activemq.command.Command v, v;
java.io.IOException v, v;
java.lang.RuntimeException v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.Command;
v = interfaceinvoke v.<org.apache.activemq.command.Command: boolean isMessageDispatch()>();
if v == 0 goto label;
v = v;
goto label;
label:
v = null;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
if v == null goto label;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void preProcessDispatch(org.apache.activemq.command.MessageDispatch)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatch(org.apache.activemq.command.Command)>(v);
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.MessageDispatch: org.apache.activemq.transport.TransmitCallback getTransmitCallback()>();
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void postProcessDispatch(org.apache.activemq.command.MessageDispatch)>(v);
if v == null goto label;
interfaceinvoke v.<org.apache.activemq.transport.TransmitCallback: void onSuccess()>();
goto label;
label:
v := @caughtexception;
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.MessageDispatch: org.apache.activemq.transport.TransmitCallback getTransmitCallback()>();
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void postProcessDispatch(org.apache.activemq.command.MessageDispatch)>(v);
if v == null goto label;
interfaceinvoke v.<org.apache.activemq.transport.TransmitCallback: void onFailure()>();
label:
v = null;
throw v;
label:
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger TRANSPORTLOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger TRANSPORTLOG>;
v = interfaceinvoke v.<org.apache.activemq.command.Command: byte getDataStructureType()>();
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Unexpected exception on asyncDispatch, command of type: {}", v, v);
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.MessageDispatch: org.apache.activemq.transport.TransmitCallback getTransmitCallback()>();
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void postProcessDispatch(org.apache.activemq.command.MessageDispatch)>(v);
if v == null goto label;
interfaceinvoke v.<org.apache.activemq.transport.TransmitCallback: void onSuccess()>();
label:
throw v;
label:
return;
catch java.lang.RuntimeException from label to label with label;
catch java.io.IOException 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;
}
public boolean iterate()
{
java.lang.Throwable v, v;
java.util.concurrent.atomic.AtomicBoolean v, v, v, v;
java.util.concurrent.atomic.AtomicReference v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
boolean v, v, v, v, v;
org.apache.activemq.broker.TransportConnection v;
java.io.IOException v;
java.util.concurrent.CountDownLatch v, v;
java.util.List v, v, v;
org.apache.activemq.command.ShutdownInfo v;
java.lang.Object v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v == 3 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean dispatchStopped>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicReference transportException>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v != null goto label;
label:
v = new org.apache.activemq.command.ShutdownInfo;
specialinvoke v.<org.apache.activemq.command.ShutdownInfo: void <init>()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatch(org.apache.activemq.command.Command)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.CountDownLatch dispatchStoppedLatch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
label:
return 0;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean dispatchStopped>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
exitmonitor v;
label:
return 0;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
v = interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(0);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void processDispatch(org.apache.activemq.command.Command)>(v);
label:
return 1;
label:
return 0;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean dispatchStopped>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.CountDownLatch dispatchStoppedLatch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void serviceExceptionAsync(java.io.IOException)>(v);
return 0;
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.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
public org.apache.activemq.broker.region.ConnectionStatistics getStatistics()
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.region.ConnectionStatistics v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.region.ConnectionStatistics statistics>;
return v;
}
public org.apache.activemq.security.MessageAuthorizationPolicy getMessageAuthorizationPolicy()
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.security.MessageAuthorizationPolicy v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.security.MessageAuthorizationPolicy messageAuthorizationPolicy>;
return v;
}
public void setMessageAuthorizationPolicy(org.apache.activemq.security.MessageAuthorizationPolicy)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.security.MessageAuthorizationPolicy v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.security.MessageAuthorizationPolicy;
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.security.MessageAuthorizationPolicy messageAuthorizationPolicy> = v;
return;
}
public boolean isManageable()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean manageable>;
return v;
}
public void start() throws java.lang.Exception
{
java.lang.Throwable v, v;
org.apache.activemq.broker.Broker v;
java.util.concurrent.atomic.AtomicInteger v, v, v, v;
org.apache.activemq.broker.TransportConnector v, v, v;
org.apache.activemq.command.BrokerInfo v, v;
java.lang.String v, v;
boolean v, v, v, v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v, v;
org.apache.activemq.command.BrokerInfo[] v;
org.apache.activemq.transport.Transport v;
java.lang.Exception v;
org.apache.activemq.thread.TaskRunner v;
org.apache.activemq.thread.TaskRunnerFactory v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: boolean compareAndSet(int,int)>(0, 1);
if v == 0 goto label;
label:
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory>;
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.lang.String getRemoteAddress()>();
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[])>("ActiveMQ Connection Dispatcher: \u0001");
v = virtualinvoke v.<org.apache.activemq.thread.TaskRunnerFactory: org.apache.activemq.thread.TaskRunner createTaskRunner(org.apache.activemq.thread.Task,java.lang.String)>(v, v);
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunner taskRunner> = v;
goto label;
label:
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunner taskRunner> = null;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
interfaceinvoke v.<org.apache.activemq.transport.Transport: void start()>();
v.<org.apache.activemq.broker.TransportConnection: boolean active> = 1;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: org.apache.activemq.command.BrokerInfo getBrokerInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: org.apache.activemq.command.BrokerInfo copy()>();
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: boolean isUpdateClusterClients()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.command.BrokerInfo[] getPeerBrokerInfos()>();
virtualinvoke v.<org.apache.activemq.command.BrokerInfo: void setPeerBrokerInfos(org.apache.activemq.command.BrokerInfo[])>(v);
goto label;
label:
virtualinvoke v.<org.apache.activemq.command.BrokerInfo: void setPeerBrokerInfos(org.apache.activemq.command.BrokerInfo[])>(null);
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatchAsync(org.apache.activemq.command.Command)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
virtualinvoke v.<org.apache.activemq.broker.TransportConnector: void onStarted(org.apache.activemq.broker.TransportConnection)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: boolean compareAndSet(int,int)>(1, 2);
if v != 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Calling the delayed stop() after start() {}", v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stop()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: void set(int)>(3);
throw v;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: boolean compareAndSet(int,int)>(1, 2);
if v != 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Calling the delayed stop() after start() {}", v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stop()>();
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void stop() throws java.lang.Exception
{
java.util.concurrent.TimeUnit v;
java.util.concurrent.CountDownLatch v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v;
org.apache.activemq.transport.Transport v;
java.lang.String v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stopAsync()>();
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.CountDownLatch stopped>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<java.util.concurrent.CountDownLatch: boolean await(long,java.util.concurrent.TimeUnit)>(5L, v);
if v != 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = interfaceinvoke v.<org.apache.activemq.transport.Transport: java.lang.String getRemoteAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("The connection to \'{}\' is taking a long time to shutdown.", v);
goto label;
label:
return;
}
public void delayedStop(int, java.lang.String, java.lang.Throwable)
{
java.lang.Throwable v, v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v;
org.apache.activemq.broker.TransportConnection$3 v;
java.util.concurrent.atomic.AtomicReference v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.activemq.thread.TaskRunnerFactory v;
int v;
java.lang.String v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: int;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Throwable;
if v <= 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: boolean compareAndSet(int,int)>(1, 3);
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicReference transportException>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunnerFactory stopTaskRunnerFactory>;
v = new org.apache.activemq.broker.TransportConnection$3;
specialinvoke v.<org.apache.activemq.broker.TransportConnection$3: void <init>(org.apache.activemq.broker.TransportConnection,int,java.lang.String)>(v, v, v);
virtualinvoke v.<org.apache.activemq.thread.TaskRunnerFactory: void execute(java.lang.Runnable)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Cannot create stopAsync. This exception will be ignored.", v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void stopAsync(java.lang.Throwable)
{
java.lang.Throwable v;
org.apache.activemq.broker.TransportConnection v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: java.lang.Throwable;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicReference transportException>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stopAsync()>();
return;
}
public void stopAsync()
{
java.lang.Throwable v;
java.util.concurrent.atomic.AtomicBoolean v, v;
org.apache.activemq.broker.ConnectionContext v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.activemq.broker.TransportConnection$4 v;
boolean v, v, v;
org.apache.activemq.broker.TransportConnection v;
org.slf4j.Logger v, v;
java.util.Iterator v;
java.util.concurrent.CountDownLatch v;
java.util.List v;
org.apache.activemq.thread.TaskRunnerFactory v;
java.lang.Object v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: boolean compareAndSet(int,int)>(1, 3);
if v == 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("stopAsync() called in the middle of start(). Delaying till start completes..");
return;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.util.List listConnectionStates()>();
v = interfaceinvoke v.<java.util.List: 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.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: java.util.concurrent.atomic.AtomicBoolean getStopping()>();
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
goto label;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunnerFactory stopTaskRunnerFactory>;
v = new org.apache.activemq.broker.TransportConnection$4;
specialinvoke v.<org.apache.activemq.broker.TransportConnection$4: void <init>(org.apache.activemq.broker.TransportConnection)>(v);
virtualinvoke v.<org.apache.activemq.thread.TaskRunnerFactory: void execute(java.lang.Runnable)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Cannot create async transport stopper thread. This exception is ignored. Not waiting for stop to complete", v);
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.CountDownLatch stopped>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String toString()
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.transport.Transport v;
java.lang.String v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = interfaceinvoke v.<org.apache.activemq.transport.Transport: java.lang.String getRemoteAddress()>();
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[])>("Transport Connection to: \u0001");
return v;
}
protected void doStop() throws java.lang.Exception
{
org.apache.activemq.network.DemandForwardingBridge v, v;
org.apache.activemq.broker.ConnectionContext v;
boolean v, v, v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.transport.Transport v, v, v, v;
java.lang.Exception v, v;
java.util.List v, v, v, v;
java.lang.Throwable v, v, v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.broker.Broker v, v;
org.apache.activemq.command.ConnectionInfo v, v;
org.apache.activemq.broker.TransportConnector v;
java.lang.String v, v, v, v, v;
org.apache.activemq.transport.TransmitCallback v;
org.slf4j.Logger v, v, v, v, v, v, v;
java.util.Iterator v, v;
org.apache.activemq.command.Command v;
org.apache.activemq.command.ConnectionId v, v;
org.apache.activemq.thread.TaskRunner v, v;
java.lang.Object v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = interfaceinvoke v.<org.apache.activemq.transport.Transport: java.lang.String getRemoteAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Stopping connection: {}", v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
virtualinvoke v.<org.apache.activemq.broker.TransportConnector: void onStopped(org.apache.activemq.broker.TransportConnection)>(v);
label:
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.network.DemandForwardingBridge duplexBridge>;
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.network.DemandForwardingBridge duplexBridge>;
virtualinvoke v.<org.apache.activemq.network.DemandForwardingBridge: void stop()>();
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Throwable)>("Exception caught stopping. This exception is ignored.", v);
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
interfaceinvoke v.<org.apache.activemq.transport.Transport: void stop()>();
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = interfaceinvoke v.<org.apache.activemq.transport.Transport: java.lang.String getRemoteAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Stopped transport: {}", v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = interfaceinvoke v.<org.apache.activemq.transport.Transport: java.lang.String getRemoteAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Could not stop transport to {}. This exception is ignored.", v, v);
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunner taskRunner>;
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunner taskRunner>;
interfaceinvoke v.<org.apache.activemq.thread.TaskRunner: void shutdown(long)>(1L);
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.thread.TaskRunner taskRunner> = null;
label:
v.<org.apache.activemq.broker.TransportConnection: boolean active> = 0;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
v = interfaceinvoke v.<java.util.List: 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 = interfaceinvoke v.<org.apache.activemq.command.Command: boolean isMessageDispatch()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.MessageDispatch: org.apache.activemq.transport.TransmitCallback getTransmitCallback()>();
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void postProcessDispatch(org.apache.activemq.command.MessageDispatch)>(v);
if v == null goto label;
interfaceinvoke v.<org.apache.activemq.transport.TransmitCallback: void onFailure()>();
goto label;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.List dispatchQueue>;
interfaceinvoke v.<java.util.List: void clear()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: boolean isStopped()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.util.List listConnectionStates()>();
v = interfaceinvoke v.<java.util.List: 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.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: java.util.concurrent.atomic.AtomicBoolean getStopping()>();
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
label:
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.lang.String getRemoteAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Cleaning up connection resources: {}", v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.command.ConnectionInfo getInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.Response processRemoveConnection(org.apache.activemq.command.ConnectionId,long)>(v, -2L);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.command.ConnectionInfo getInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Exception caught removing connection {}. This exception is ignored.", v, v);
goto label;
label:
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.lang.String getRemoteAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Connection Stopped: {}", v);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception 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;
}
public boolean isBlockedCandidate()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean blockedCandidate>;
return v;
}
public void setBlockedCandidate(boolean)
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: boolean;
v.<org.apache.activemq.broker.TransportConnection: boolean blockedCandidate> = v;
return;
}
public boolean isMarkedCandidate()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean markedCandidate>;
return v;
}
public void setMarkedCandidate(boolean)
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: boolean;
v.<org.apache.activemq.broker.TransportConnection: boolean markedCandidate> = v;
if v != 0 goto label;
v.<org.apache.activemq.broker.TransportConnection: long timeStamp> = 0L;
v.<org.apache.activemq.broker.TransportConnection: boolean blockedCandidate> = 0;
label:
return;
}
public void setSlow(boolean)
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: boolean;
v.<org.apache.activemq.broker.TransportConnection: boolean slow> = v;
return;
}
public boolean isSlow()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean slow>;
return v;
}
public boolean isMarkedBlockedCandidate()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean markedCandidate>;
return v;
}
public void doMark()
{
org.apache.activemq.broker.TransportConnection v;
byte v;
long v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: long timeStamp>;
v = v cmp 0L;
if v != 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v.<org.apache.activemq.broker.TransportConnection: long timeStamp> = v;
label:
return;
}
public boolean isBlocked()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean blocked>;
return v;
}
public boolean isConnected()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean connected>;
return v;
}
public void setBlocked(boolean)
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: boolean;
v.<org.apache.activemq.broker.TransportConnection: boolean blocked> = v;
return;
}
public void setConnected(boolean)
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: boolean;
v.<org.apache.activemq.broker.TransportConnection: boolean connected> = v;
return;
}
public boolean isActive()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean active>;
return v;
}
public void setActive(boolean)
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: boolean;
v.<org.apache.activemq.broker.TransportConnection: boolean active> = v;
return;
}
public boolean isStarting()
{
org.apache.activemq.broker.TransportConnection v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v != 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public synchronized boolean isNetworkConnection()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean networkConnection>;
return v;
}
public boolean isFaultTolerantConnection()
{
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: boolean faultTolerantConnection>;
return v;
}
public boolean isPendingStop()
{
org.apache.activemq.broker.TransportConnection v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger status>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v != 3 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private org.apache.activemq.network.NetworkBridgeConfiguration getNetworkConfiguration(org.apache.activemq.command.BrokerInfo) throws java.io.IOException
{
java.util.Properties v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.BrokerInfo v;
java.util.HashMap v;
java.lang.String v;
org.apache.activemq.network.NetworkBridgeConfiguration v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.BrokerInfo;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: java.lang.String getNetworkProperties()>();
v = staticinvoke <org.apache.activemq.util.MarshallingSupport: java.util.Properties stringToProperties(java.lang.String)>(v);
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: java.util.HashMap createMap(java.util.Properties)>(v);
v = new org.apache.activemq.network.NetworkBridgeConfiguration;
specialinvoke v.<org.apache.activemq.network.NetworkBridgeConfiguration: void <init>()>();
staticinvoke <org.apache.activemq.util.IntrospectionSupport: boolean setProperties(java.lang.Object,java.util.Map,java.lang.String)>(v, v, "");
return v;
}
public org.apache.activemq.command.Response processBrokerInfo(org.apache.activemq.command.BrokerInfo)
{
org.apache.activemq.network.DemandForwardingBridge v, v, v, v, v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.BrokerService v, v, v, v, v;
java.util.Set v;
java.lang.Exception v, v;
java.util.concurrent.CountDownLatch v;
java.util.concurrent.CopyOnWriteArrayList v;
java.lang.Throwable v;
org.apache.activemq.broker.Broker v, v, v, v, v;
org.apache.activemq.network.MBeanNetworkListener v;
java.lang.String v, v, v, v, v, v, v, v;
org.apache.activemq.network.BridgeFactory v;
org.apache.activemq.transport.ResponseCorrelator v;
org.apache.activemq.command.BrokerSubscriptionInfo v, v;
java.util.concurrent.atomic.AtomicInteger v, v;
java.net.URI v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.transport.Transport v, v;
javax.management.ObjectName v;
java.util.List v;
org.apache.activemq.command.ActiveMQDestination[] v;
org.apache.activemq.broker.TransportConnector v;
org.apache.activemq.command.BrokerInfo v, v, v;
int v, v, v;
org.apache.activemq.network.NetworkBridgeConfiguration v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v;
java.util.Iterator v, v;
java.util.concurrent.TimeUnit v;
org.apache.activemq.transport.TransportDisposedIOException v;
org.apache.activemq.command.BrokerId v, v;
java.lang.Object v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.BrokerInfo;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: boolean isSlaveBroker()>();
if v == 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: java.lang.String getBrokerName()>();
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>(" Slave Brokers are no longer supported - slave trying to attach is: {}", v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: boolean isNetworkConnection()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: boolean isDuplexConnection()>();
if v != 0 goto label;
label:
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.network.NetworkBridgeConfiguration getNetworkConfiguration(org.apache.activemq.command.BrokerInfo)>(v);
v = virtualinvoke v.<org.apache.activemq.network.NetworkBridgeConfiguration: boolean isSyncDurableSubs()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger protocolVersion>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v < 12 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("SyncDurableSubs is enabled, Sending BrokerSubscriptionInfo");
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = staticinvoke <org.apache.activemq.util.NetworkBridgeUtils: org.apache.activemq.command.BrokerSubscriptionInfo getBrokerSubscriptionInfo(org.apache.activemq.broker.BrokerService,org.apache.activemq.network.NetworkBridgeConfiguration)>(v, v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatchSync(org.apache.activemq.command.Command)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: org.apache.activemq.command.BrokerId getBrokerId()>();
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to respond to network bridge creation from broker {}", v, v);
return null;
label:
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: boolean isNetworkConnection()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: boolean isDuplexConnection()>();
if v == 0 goto label;
label:
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.network.NetworkBridgeConfiguration getNetworkConfiguration(org.apache.activemq.command.BrokerInfo)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: java.lang.String getBrokerName()>();
virtualinvoke v.<org.apache.activemq.network.NetworkBridgeConfiguration: void setBrokerName(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.network.NetworkBridgeConfiguration: boolean isSyncDurableSubs()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger protocolVersion>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v < 12 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("SyncDurableSubs is enabled, Sending BrokerSubscriptionInfo");
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = staticinvoke <org.apache.activemq.util.NetworkBridgeUtils: org.apache.activemq.command.BrokerSubscriptionInfo getBrokerSubscriptionInfo(org.apache.activemq.broker.BrokerService,org.apache.activemq.network.NetworkBridgeConfiguration)>(v, v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatchSync(org.apache.activemq.command.Command)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.network.NetworkBridgeConfiguration: java.lang.String getName()>();
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: org.apache.activemq.command.BrokerId getBrokerId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,org.apache.activemq.command.BrokerId)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001@\u0001");
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: java.util.concurrent.CopyOnWriteArrayList getConnections()>();
entermonitor v;
label:
v = virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: 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 == v goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.lang.String getDuplexNetworkConnectorId()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Stopping an existing active duplex connection [{}] for network connector ({}).", v, v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stopAsync()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.CountDownLatch getStopped()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: boolean await(long,java.util.concurrent.TimeUnit)>(1L, v);
goto label;
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void setDuplexNetworkConnectorId(java.lang.String)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: java.net.URI getVmConnectorURI()>();
v = staticinvoke <org.apache.activemq.network.NetworkBridgeFactory: org.apache.activemq.transport.Transport createLocalTransport(org.apache.activemq.network.NetworkBridgeConfiguration,java.net.URI)>(v, v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = v instanceof org.apache.activemq.transport.ResponseCorrelator;
if v != 0 goto label;
v = new org.apache.activemq.transport.ResponseCorrelator;
specialinvoke v.<org.apache.activemq.transport.ResponseCorrelator: void <init>(org.apache.activemq.transport.Transport)>(v);
v = v;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("#");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("#");
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
label:
v = new org.apache.activemq.network.MBeanNetworkListener;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.BrokerService brokerService>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: javax.management.ObjectName createDuplexNetworkConnectorObjectName(java.lang.String)>(v);
specialinvoke v.<org.apache.activemq.network.MBeanNetworkListener: void <init>(org.apache.activemq.broker.BrokerService,org.apache.activemq.network.NetworkBridgeConfiguration,javax.management.ObjectName)>(v, v, v);
virtualinvoke v.<org.apache.activemq.network.MBeanNetworkListener: void setCreatedByDuplex(boolean)>(1);
v = virtualinvoke v.<org.apache.activemq.network.NetworkBridgeConfiguration: org.apache.activemq.network.BridgeFactory getBridgeFactory()>();
v = interfaceinvoke v.<org.apache.activemq.network.BridgeFactory: org.apache.activemq.network.DemandForwardingBridge createNetworkBridge(org.apache.activemq.network.NetworkBridgeConfiguration,org.apache.activemq.transport.Transport,org.apache.activemq.transport.Transport,org.apache.activemq.network.NetworkBridgeListener)>(v, v, v, v);
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.network.DemandForwardingBridge duplexBridge> = v;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.network.DemandForwardingBridge duplexBridge>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.BrokerService brokerService>;
virtualinvoke v.<org.apache.activemq.network.DemandForwardingBridge: void setBrokerService(org.apache.activemq.broker.BrokerService)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.network.DemandForwardingBridge duplexBridge>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: java.util.Set getDurableDestinations()>();
v = staticinvoke <org.apache.activemq.network.NetworkConnector: org.apache.activemq.command.ActiveMQDestination[] getDurableTopicDestinations(java.util.Set)>(v);
virtualinvoke v.<org.apache.activemq.network.DemandForwardingBridge: void setDurableDestinations(org.apache.activemq.command.ActiveMQDestination[])>(v);
virtualinvoke v.<org.apache.activemq.command.BrokerInfo: void setDuplexConnection(boolean)>(0);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.network.DemandForwardingBridge duplexBridge>;
virtualinvoke v.<org.apache.activemq.network.DemandForwardingBridge: void setCreatedByDuplex(boolean)>(1);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.network.DemandForwardingBridge duplexBridge>;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.BrokerInfo brokerInfo>;
virtualinvoke v.<org.apache.activemq.network.DemandForwardingBridge: void duplexStart(org.apache.activemq.broker.TransportConnection,org.apache.activemq.command.BrokerInfo,org.apache.activemq.command.BrokerInfo)>(v, v, v);
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Started responder end of duplex bridge {}", v);
label:
return null;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.broker.TransportConnection: java.lang.String duplexNetworkConnectorId>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Duplex bridge {} was stopped before it was correctly started.", v);
return null;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.broker.TransportConnection: java.lang.String duplexNetworkConnectorId>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to create responder end of duplex network bridge {}", v, v);
return null;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.BrokerInfo brokerInfo>;
if v == null goto label;
v = <org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Unexpected extra broker info command received: {}", v);
label:
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.BrokerInfo brokerInfo> = v;
v.<org.apache.activemq.broker.TransportConnection: boolean networkConnection> = 1;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.util.List listConnectionStates()>();
v = interfaceinvoke v.<java.util.List: 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.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setNetworkConnection(boolean)>(1);
goto label;
label:
return null;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch org.apache.activemq.transport.TransportDisposedIOException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private java.util.HashMap createMap(java.util.Properties)
{
java.util.HashMap v;
java.util.Properties v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: java.util.Properties;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
return v;
}
protected void dispatch(org.apache.activemq.command.Command) throws java.io.IOException
{
java.lang.Throwable v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.Command v;
org.apache.activemq.transport.Transport v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.Command;
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void setMarkedCandidate(boolean)>(1);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
interfaceinvoke v.<org.apache.activemq.transport.Transport: void oneway(java.lang.Object)>(v);
label:
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void setMarkedCandidate(boolean)>(0);
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void setMarkedCandidate(boolean)>(0);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String getRemoteAddress()
{
org.apache.activemq.transport.Transport v;
java.lang.String v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
v = interfaceinvoke v.<org.apache.activemq.transport.Transport: java.lang.String getRemoteAddress()>();
return v;
}
public org.apache.activemq.transport.Transport getTransport()
{
org.apache.activemq.transport.Transport v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.transport.Transport transport>;
return v;
}
public java.lang.String getConnectionId()
{
org.apache.activemq.broker.TransportConnection v;
java.util.Iterator v;
org.apache.activemq.command.ConnectionId v;
java.util.List v;
org.apache.activemq.command.ConnectionInfo v, v, v;
java.lang.Object v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: java.util.List listConnectionStates()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
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.broker.TransportConnectionState: org.apache.activemq.command.ConnectionInfo getInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientId()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.command.ConnectionInfo getInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientId()>();
return v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.command.ConnectionInfo getInfo()>();
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()>();
return v;
label:
return null;
}
public void updateClient(org.apache.activemq.command.ConnectionControl)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionControl v;
int v;
boolean v, v, v;
org.apache.activemq.command.WireFormatInfo v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionControl;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: boolean isActive()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: boolean isBlocked()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: boolean isFaultTolerantConnection()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.WireFormatInfo wireFormatInfo>;
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.WireFormatInfo wireFormatInfo>;
v = virtualinvoke v.<org.apache.activemq.command.WireFormatInfo: int getVersion()>();
if v < 6 goto label;
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void dispatchAsync(org.apache.activemq.command.Command)>(v);
label:
return;
}
public org.apache.activemq.broker.ProducerBrokerExchange getProducerBrokerExchangeIfExists(org.apache.activemq.command.ProducerInfo)
{
java.lang.Throwable v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ProducerId v, v;
org.apache.activemq.command.ProducerInfo v;
java.util.Map v, v;
java.lang.Object v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ProducerInfo;
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ProducerId getProducerId()>();
if v == null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map producerExchanges>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map producerExchanges>;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ProducerId getProducerId()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private org.apache.activemq.broker.ProducerBrokerExchange getProducerBrokerExchange(org.apache.activemq.command.ProducerId) throws java.io.IOException
{
java.lang.Throwable v;
long v;
org.apache.activemq.broker.ConnectionContext v, v, v, v, v;
org.apache.activemq.state.ProducerState v, v;
org.apache.activemq.state.SessionState v;
org.apache.activemq.broker.TransportConnector v;
java.util.Map v, v, v;
boolean v, v, v, v, v;
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.SessionId v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.command.ProducerId v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.command.ProducerInfo v, v;
java.lang.Object v;
org.apache.activemq.store.PersistenceAdapter v;
org.apache.activemq.broker.ProducerBrokerExchange v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ProducerId;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map producerExchanges>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map producerExchanges>;
entermonitor v;
label:
v = new org.apache.activemq.broker.ProducerBrokerExchange;
specialinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void <init>()>();
v = v;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ProducerId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setConnectionContext(org.apache.activemq.broker.ConnectionContext)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: boolean isReconnect()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: boolean isNetworkConnection()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnector connector>;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: boolean isAuditNetworkProducers()>();
if v == 0 goto label;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.store.PersistenceAdapter getPersistenceAdapter()>();
v = interfaceinvoke v.<org.apache.activemq.store.PersistenceAdapter: long getLastProducerSequenceId(org.apache.activemq.command.ProducerId)>(v);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setLastStoredSequenceId(long)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.command.ProducerId: org.apache.activemq.command.SessionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState getSessionState(org.apache.activemq.command.SessionId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.state.SessionState: org.apache.activemq.state.ProducerState getProducerState(org.apache.activemq.command.ProducerId)>(v);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setProducerState(org.apache.activemq.state.ProducerState)>(v);
v = virtualinvoke v.<org.apache.activemq.state.SessionState: org.apache.activemq.state.ProducerState getProducerState(org.apache.activemq.command.ProducerId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.state.ProducerState: org.apache.activemq.command.ProducerInfo getInfo()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.state.ProducerState: org.apache.activemq.command.ProducerInfo getInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isComposite()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setMutable(boolean)>(v);
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map producerExchanges>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: org.apache.activemq.broker.ConnectionContext getConnectionContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private void removeProducerBrokerExchange(org.apache.activemq.command.ProducerId)
{
java.lang.Throwable v;
org.apache.activemq.command.ProducerId v;
org.apache.activemq.broker.TransportConnection v;
java.util.Map v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ProducerId;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map producerExchanges>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map producerExchanges>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private org.apache.activemq.broker.ConsumerBrokerExchange getConsumerBrokerExchange(org.apache.activemq.command.ConsumerId)
{
org.apache.activemq.broker.TransportConnection v;
java.util.Map v;
java.lang.Object v;
org.apache.activemq.command.ConsumerId v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConsumerId;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map consumerExchanges>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
private org.apache.activemq.broker.ConsumerBrokerExchange addConsumerBrokerExchange(org.apache.activemq.broker.TransportConnectionState, org.apache.activemq.command.ConsumerId)
{
java.lang.Throwable v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.state.ConsumerState v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.state.SessionState v;
java.util.Map v, v, v;
org.apache.activemq.command.ConsumerInfo v;
boolean v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.SessionId v;
org.apache.activemq.broker.ConsumerBrokerExchange v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.broker.TransportConnectionState v;
java.lang.Object v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.broker.TransportConnectionState;
v := @parameter: org.apache.activemq.command.ConsumerId;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map consumerExchanges>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map consumerExchanges>;
entermonitor v;
label:
v = new org.apache.activemq.broker.ConsumerBrokerExchange;
specialinvoke v.<org.apache.activemq.broker.ConsumerBrokerExchange: void <init>()>();
v = v;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.broker.ConnectionContext getContext()>();
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context> = v;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConnectionContext context>;
virtualinvoke v.<org.apache.activemq.broker.ConsumerBrokerExchange: void setConnectionContext(org.apache.activemq.broker.ConnectionContext)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerId: org.apache.activemq.command.SessionId getParentId()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState getSessionState(org.apache.activemq.command.SessionId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.state.SessionState: org.apache.activemq.state.ConsumerState getConsumerState(org.apache.activemq.command.ConsumerId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.state.ConsumerState: org.apache.activemq.command.ConsumerInfo getInfo()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isPattern()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.broker.ConsumerBrokerExchange: void setWildcard(boolean)>(1);
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map consumerExchanges>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private void removeConsumerBrokerExchange(org.apache.activemq.command.ConsumerId)
{
java.lang.Throwable v;
org.apache.activemq.broker.TransportConnection v;
java.util.Map v, v;
org.apache.activemq.command.ConsumerId v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConsumerId;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map consumerExchanges>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: java.util.Map consumerExchanges>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public int getProtocolVersion()
{
int v;
org.apache.activemq.broker.TransportConnection v;
java.util.concurrent.atomic.AtomicInteger v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicInteger protocolVersion>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
return v;
}
public org.apache.activemq.command.Response processControlCommand(org.apache.activemq.command.ControlCommand) throws java.lang.Exception
{
org.apache.activemq.command.ControlCommand v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ControlCommand;
return null;
}
public org.apache.activemq.command.Response processMessageDispatch(org.apache.activemq.command.MessageDispatch) throws java.lang.Exception
{
org.apache.activemq.command.MessageDispatch v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.MessageDispatch;
return null;
}
public org.apache.activemq.command.Response processConnectionControl(org.apache.activemq.command.ConnectionControl) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionControl v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionControl;
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionControl: boolean isFaultTolerant()>();
v.<org.apache.activemq.broker.TransportConnection: boolean faultTolerantConnection> = v;
label:
return null;
}
public org.apache.activemq.command.Response processConnectionError(org.apache.activemq.command.ConnectionError) throws java.lang.Exception
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionError v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionError;
return null;
}
public org.apache.activemq.command.Response processConsumerControl(org.apache.activemq.command.ConsumerControl) throws java.lang.Exception
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.command.ConsumerControl v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.ConsumerBrokerExchange v;
org.apache.activemq.command.ConsumerId v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConsumerControl;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerControl: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = specialinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.ConsumerBrokerExchange getConsumerBrokerExchange(org.apache.activemq.command.ConsumerId)>(v);
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void processConsumerControl(org.apache.activemq.broker.ConsumerBrokerExchange,org.apache.activemq.command.ConsumerControl)>(v, v);
return null;
}
protected synchronized org.apache.activemq.broker.TransportConnectionState registerConnectionState(org.apache.activemq.command.ConnectionId, org.apache.activemq.broker.TransportConnectionState)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.broker.MapTransportConnectionStateRegister v;
org.apache.activemq.broker.TransportConnectionState v, v;
org.apache.activemq.broker.TransportConnectionStateRegister v, v, v, v;
boolean v, v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionId;
v := @parameter: org.apache.activemq.broker.TransportConnectionState;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: boolean doesHandleMultipleConnectionStates()>();
if v != 0 goto label;
v = new org.apache.activemq.broker.MapTransportConnectionStateRegister;
specialinvoke v.<org.apache.activemq.broker.MapTransportConnectionStateRegister: void <init>()>();
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: void intialize(org.apache.activemq.broker.TransportConnectionStateRegister)>(v);
v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister> = v;
label:
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: org.apache.activemq.broker.TransportConnectionState registerConnectionState(org.apache.activemq.command.ConnectionId,org.apache.activemq.broker.TransportConnectionState)>(v, v);
return v;
}
protected synchronized org.apache.activemq.broker.TransportConnectionState unregisterConnectionState(org.apache.activemq.command.ConnectionId)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.broker.TransportConnectionStateRegister v;
org.apache.activemq.command.ConnectionId v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionId;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: org.apache.activemq.broker.TransportConnectionState unregisterConnectionState(org.apache.activemq.command.ConnectionId)>(v);
return v;
}
protected synchronized java.util.List listConnectionStates()
{
java.util.List v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnectionStateRegister v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: java.util.List listConnectionStates()>();
return v;
}
protected synchronized org.apache.activemq.broker.TransportConnectionState lookupConnectionState(java.lang.String)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.broker.TransportConnectionStateRegister v;
java.lang.String v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: java.lang.String;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(java.lang.String)>(v);
return v;
}
protected synchronized org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConsumerId)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.broker.TransportConnectionStateRegister v;
org.apache.activemq.command.ConsumerId v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConsumerId;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConsumerId)>(v);
return v;
}
protected synchronized org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ProducerId)
{
org.apache.activemq.command.ProducerId v;
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.broker.TransportConnectionStateRegister v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ProducerId;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ProducerId)>(v);
return v;
}
protected synchronized org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.SessionId)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.broker.TransportConnectionStateRegister v;
org.apache.activemq.command.SessionId v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.SessionId;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.SessionId)>(v);
return v;
}
public synchronized org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.broker.TransportConnectionStateRegister v;
org.apache.activemq.command.ConnectionId v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionId;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionStateRegister connectionStateRegister>;
v = interfaceinvoke v.<org.apache.activemq.broker.TransportConnectionStateRegister: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
return v;
}
protected synchronized void setDuplexNetworkConnectorId(java.lang.String)
{
java.lang.String v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: java.lang.String;
v.<org.apache.activemq.broker.TransportConnection: java.lang.String duplexNetworkConnectorId> = v;
return;
}
protected synchronized java.lang.String getDuplexNetworkConnectorId()
{
java.lang.String v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: java.lang.String duplexNetworkConnectorId>;
return v;
}
public boolean isStopping()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.broker.TransportConnection v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
protected java.util.concurrent.CountDownLatch getStopped()
{
java.util.concurrent.CountDownLatch v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: java.util.concurrent.CountDownLatch stopped>;
return v;
}
private int getProducerCount(org.apache.activemq.command.ConnectionId)
{
org.apache.activemq.broker.TransportConnection v;
java.util.Iterator v;
org.apache.activemq.command.ConnectionId v;
java.util.Set v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.state.SessionState v;
int v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionId;
v = 0;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: java.util.Set getSessionIds()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState getSessionState(org.apache.activemq.command.SessionId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.state.SessionState: java.util.Set getProducerIds()>();
v = interfaceinvoke v.<java.util.Set: int size()>();
v = v + v;
goto label;
label:
return v;
}
private int getConsumerCount(org.apache.activemq.command.ConnectionId)
{
org.apache.activemq.broker.TransportConnection v;
java.util.Iterator v;
org.apache.activemq.command.ConnectionId v;
java.util.Set v, v;
org.apache.activemq.broker.TransportConnectionState v;
org.apache.activemq.state.SessionState v;
int v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.ConnectionId;
v = 0;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.broker.TransportConnectionState lookupConnectionState(org.apache.activemq.command.ConnectionId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: java.util.Set getSessionIds()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnectionState: org.apache.activemq.state.SessionState getSessionState(org.apache.activemq.command.SessionId)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.state.SessionState: java.util.Set getConsumerIds()>();
v = interfaceinvoke v.<java.util.Set: int size()>();
v = v + v;
goto label;
label:
return v;
}
public org.apache.activemq.command.WireFormatInfo getRemoteWireFormatInfo()
{
org.apache.activemq.broker.TransportConnection v;
org.apache.activemq.command.WireFormatInfo v;
v := @this: org.apache.activemq.broker.TransportConnection;
v = v.<org.apache.activemq.broker.TransportConnection: org.apache.activemq.command.WireFormatInfo wireFormatInfo>;
return v;
}
public org.apache.activemq.command.Response processBrokerSubscriptionInfo(org.apache.activemq.command.BrokerSubscriptionInfo) throws java.lang.Exception
{
org.apache.activemq.command.BrokerSubscriptionInfo v;
org.apache.activemq.broker.TransportConnection v;
v := @this: org.apache.activemq.broker.TransportConnection;
v := @parameter: org.apache.activemq.command.BrokerSubscriptionInfo;
return null;
}
static void <clinit>()
{
org.slf4j.Logger v, v, v;
java.lang.Class v, v;
java.lang.String v, v, v, v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/broker/TransportConnection;");
<org.apache.activemq.broker.TransportConnection: org.slf4j.Logger LOG> = v;
v = class "Lorg/apache/activemq/broker/TransportConnection;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("\u.Transport");
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.String)>(v);
<org.apache.activemq.broker.TransportConnection: org.slf4j.Logger TRANSPORTLOG> = v;
v = class "Lorg/apache/activemq/broker/TransportConnection;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("\u.Service");
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.String)>(v);
<org.apache.activemq.broker.TransportConnection: org.slf4j.Logger SERVICELOG> = v;
return;
}
}