final class org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector extends org.apache.logging.log4j.core.util.Log4jThread
{
private final java.util.concurrent.CountDownLatch latch;
private volatile boolean shutdown;
private final java.lang.Object owner;
final org.apache.logging.log4j.core.appender.mom.JmsManager this$0;
private void <init>(org.apache.logging.log4j.core.appender.mom.JmsManager, java.lang.Object)
{
java.util.concurrent.CountDownLatch v;
org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector v;
org.apache.logging.log4j.core.appender.mom.JmsManager v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector;
v := @parameter: org.apache.logging.log4j.core.appender.mom.JmsManager;
v := @parameter: java.lang.Object;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0> = v;
specialinvoke v.<org.apache.logging.log4j.core.util.Log4jThread: void <init>(java.lang.String)>("JmsManager-Reconnector");
v = new java.util.concurrent.CountDownLatch;
specialinvoke v.<java.util.concurrent.CountDownLatch: void <init>(int)>(1);
v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: java.util.concurrent.CountDownLatch latch> = v;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: java.lang.Object owner> = v;
return;
}
public void latch()
{
java.util.concurrent.CountDownLatch v;
java.lang.InterruptedException v;
org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector v;
v := @this: org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector;
label:
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: java.util.concurrent.CountDownLatch latch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void await()>();
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
void reconnect() throws javax.naming.NamingException, javax.jms.JMSException
{
java.lang.Throwable v;
javax.jms.Session v;
javax.jms.MessageProducer v;
javax.jms.Connection v;
org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector v;
org.apache.logging.log4j.core.appender.mom.JmsManager v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.logging.log4j.core.appender.mom.JmsManager$JmsManagerConfiguration v;
javax.jms.Destination v;
org.apache.logging.log4j.core.net.JndiManager v;
org.apache.logging.log4j.status.StatusLogger v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.mom.JmsManager: org.apache.logging.log4j.core.net.JndiManager getJndiManager()>();
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v = specialinvoke v.<org.apache.logging.log4j.core.appender.mom.JmsManager: javax.jms.Connection createConnection(org.apache.logging.log4j.core.net.JndiManager)>(v);
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v = specialinvoke v.<org.apache.logging.log4j.core.appender.mom.JmsManager: javax.jms.Session createSession(javax.jms.Connection)>(v);
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v = specialinvoke v.<org.apache.logging.log4j.core.appender.mom.JmsManager: javax.jms.Destination createDestination(org.apache.logging.log4j.core.net.JndiManager)>(v);
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.mom.JmsManager: javax.jms.MessageProducer createMessageProducer(javax.jms.Session,javax.jms.Destination)>(v, v);
interfaceinvoke v.<javax.jms.Connection: void start()>();
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: java.lang.Object owner>;
entermonitor v;
label:
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager: org.apache.logging.log4j.core.net.JndiManager jndiManager> = v;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager: javax.jms.Connection connection> = v;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager: javax.jms.Session session> = v;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager: javax.jms.Destination destination> = v;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager: javax.jms.MessageProducer messageProducer> = v;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager: org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector reconnector> = null;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: boolean shutdown> = 1;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = staticinvoke <org.apache.logging.log4j.core.appender.mom.JmsManager: org.apache.logging.log4j.status.StatusLogger logger()>();
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager: org.apache.logging.log4j.core.appender.mom.JmsManager$JmsManagerConfiguration configuration>;
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object)>("Connection reestablished to {}", v);
return;
catch java.lang.Throwable from label to label with label;
}
public void run()
{
java.lang.Throwable v, v;
org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector v;
org.apache.logging.log4j.core.appender.mom.JmsManager v, v;
org.apache.logging.log4j.core.appender.mom.JmsManager$JmsManagerConfiguration v, v;
long v;
java.util.concurrent.CountDownLatch v, v, v;
org.apache.logging.log4j.status.StatusLogger v;
java.lang.String v;
boolean v;
v := @this: org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector;
label:
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: boolean shutdown>;
if v != 0 goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager: org.apache.logging.log4j.core.appender.mom.JmsManager$JmsManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.mom.JmsManager$JmsManagerConfiguration: long getReconnectIntervalMillis()>();
staticinvoke <org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: void sleep(long)>(v);
virtualinvoke v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: void reconnect()>();
label:
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: java.util.concurrent.CountDownLatch latch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
goto label;
label:
v := @caughtexception;
v = staticinvoke <org.apache.logging.log4j.core.appender.mom.JmsManager: org.apache.logging.log4j.status.StatusLogger logger()>();
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: org.apache.logging.log4j.core.appender.mom.JmsManager this$0>;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager: org.apache.logging.log4j.core.appender.mom.JmsManager$JmsManagerConfiguration configuration>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getLocalizedMessage()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Cannot reestablish JMS connection to {}: {}", v, v, v);
label:
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: java.util.concurrent.CountDownLatch latch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: java.util.concurrent.CountDownLatch latch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
throw v;
label:
return;
catch java.lang.InterruptedException from label to label with label;
catch javax.jms.JMSException from label to label with label;
catch javax.naming.NamingException 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 void shutdown()
{
org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector v;
v := @this: org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector;
v.<org.apache.logging.log4j.core.appender.mom.JmsManager$Reconnector: boolean shutdown> = 1;
return;
}
}