public class org.apache.activemq.jms.pool.XaPooledConnectionFactory extends org.apache.activemq.jms.pool.PooledConnectionFactory implements javax.naming.spi.ObjectFactory, java.io.Serializable
{
private static final transient org.slf4j.Logger LOG;
private static final long serialVersionUID;
private javax.transaction.TransactionManager transactionManager;
private java.lang.Boolean tmFromJndi;
private java.lang.String tmJndiName;
public void <init>()
{
java.lang.Boolean v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
specialinvoke v.<org.apache.activemq.jms.pool.PooledConnectionFactory: void <init>()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.Boolean tmFromJndi> = v;
v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.String tmJndiName> = "java:/TransactionManager";
return;
}
public javax.transaction.TransactionManager getTransactionManager()
{
java.lang.Throwable v;
javax.naming.InitialContext v;
org.slf4j.Logger v, v;
java.lang.Boolean v;
java.lang.Object v;
java.lang.String v, v, v;
javax.transaction.TransactionManager v, v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
boolean v, v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v = v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: javax.transaction.TransactionManager transactionManager>;
if v != null goto label;
v = v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.Boolean tmFromJndi>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
label:
v = new javax.naming.InitialContext;
specialinvoke v.<javax.naming.InitialContext: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.String getTmJndiName()>();
v = virtualinvoke v.<javax.naming.InitialContext: java.lang.Object lookup(java.lang.String)>(v);
v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: javax.transaction.TransactionManager transactionManager> = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.jms.pool.XaPooledConnectionFactory: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.jms.pool.XaPooledConnectionFactory: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.String getTmJndiName()>();
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[])>("exception on tmFromJndi: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: javax.transaction.TransactionManager transactionManager>;
return v;
catch java.lang.Throwable from label to label with label;
}
public void setTransactionManager(javax.transaction.TransactionManager)
{
javax.transaction.TransactionManager v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v := @parameter: javax.transaction.TransactionManager;
v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: javax.transaction.TransactionManager transactionManager> = v;
return;
}
public void setConnectionFactory(java.lang.Object)
{
java.lang.Object v;
java.lang.IllegalArgumentException v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
boolean v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v := @parameter: java.lang.Object;
v = v instanceof javax.jms.XAConnectionFactory;
if v == 0 goto label;
v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.Object connectionFactory> = v;
goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("connectionFactory should implement javax.xml.XAConnectionFactory");
throw v;
label:
return;
}
protected javax.jms.Connection createConnection(org.apache.activemq.jms.pool.ConnectionKey) throws javax.jms.JMSException
{
java.lang.IllegalStateException v;
javax.jms.XAConnection v, v;
org.apache.activemq.jms.pool.ConnectionKey v;
java.lang.Object v, v, v;
java.lang.String v, v, v, v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
boolean v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v := @parameter: org.apache.activemq.jms.pool.ConnectionKey;
v = v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.Object connectionFactory>;
v = v instanceof javax.jms.XAConnectionFactory;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.jms.pool.ConnectionKey: java.lang.String getUserName()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.jms.pool.ConnectionKey: java.lang.String getPassword()>();
if v != null goto label;
v = v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.Object connectionFactory>;
v = interfaceinvoke v.<javax.jms.XAConnectionFactory: javax.jms.XAConnection createXAConnection()>();
return v;
label:
v = v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.Object connectionFactory>;
v = virtualinvoke v.<org.apache.activemq.jms.pool.ConnectionKey: java.lang.String getUserName()>();
v = virtualinvoke v.<org.apache.activemq.jms.pool.ConnectionKey: java.lang.String getPassword()>();
v = interfaceinvoke v.<javax.jms.XAConnectionFactory: javax.jms.XAConnection createXAConnection(java.lang.String,java.lang.String)>(v, v);
return v;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("connectionFactory should implement javax.jms.XAConnectionFactory");
throw v;
}
protected org.apache.activemq.jms.pool.ConnectionPool createConnectionPool(javax.jms.Connection)
{
javax.jms.Connection v;
org.apache.activemq.jms.pool.XaConnectionPool v;
javax.transaction.TransactionManager v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v := @parameter: javax.jms.Connection;
v = new org.apache.activemq.jms.pool.XaConnectionPool;
v = virtualinvoke v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: javax.transaction.TransactionManager getTransactionManager()>();
specialinvoke v.<org.apache.activemq.jms.pool.XaConnectionPool: void <init>(javax.jms.Connection,javax.transaction.TransactionManager)>(v, v);
return v;
}
public java.lang.Object getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable) throws java.lang.Exception
{
java.lang.Boolean v;
java.lang.Object v;
javax.naming.Name v;
javax.naming.Context v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
java.util.Hashtable v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v := @parameter: java.lang.Object;
v := @parameter: javax.naming.Name;
v := @parameter: javax.naming.Context;
v := @parameter: java.util.Hashtable;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
virtualinvoke v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: void setTmFromJndi(java.lang.Boolean)>(v);
specialinvoke v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: void configFromJndiConf(java.lang.Object)>(v);
if v == null goto label;
staticinvoke <org.apache.activemq.jms.pool.IntrospectionSupport: boolean setProperties(java.lang.Object,java.util.Map)>(v, v);
label:
return v;
}
private void configFromJndiConf(java.lang.Object)
{
int v, v;
java.lang.String v, v, v, v, v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
boolean v, v, v;
javax.naming.InitialContext v;
org.slf4j.Logger v, v;
java.lang.Exception v;
javax.naming.NamingEnumeration v;
java.lang.Object v, v, v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v := @parameter: java.lang.Object;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(47);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(47);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001/conf\u0001");
label:
v = new javax.naming.InitialContext;
specialinvoke v.<javax.naming.InitialContext: void <init>()>();
v = virtualinvoke v.<javax.naming.InitialContext: javax.naming.NamingEnumeration listBindings(java.lang.String)>(v);
label:
v = interfaceinvoke v.<javax.naming.NamingEnumeration: boolean hasMore()>();
if v == 0 goto label;
v = interfaceinvoke v.<javax.naming.NamingEnumeration: java.lang.Object next()>();
v = virtualinvoke v.<javax.naming.Binding: java.lang.String getName()>();
v = virtualinvoke v.<javax.naming.Binding: java.lang.Object getObject()>();
staticinvoke <org.apache.activemq.jms.pool.IntrospectionSupport: boolean setProperty(java.lang.Object,java.lang.String,java.lang.Object)>(v, v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.jms.pool.XaPooledConnectionFactory: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.jms.pool.XaPooledConnectionFactory: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("exception on config from jndi: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Throwable)>(v, v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public java.lang.String getTmJndiName()
{
java.lang.String v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v = v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.String tmJndiName>;
return v;
}
public void setTmJndiName(java.lang.String)
{
java.lang.String v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v := @parameter: java.lang.String;
v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.String tmJndiName> = v;
return;
}
public java.lang.Boolean isTmFromJndi()
{
java.lang.Boolean v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v = v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.Boolean tmFromJndi>;
return v;
}
public void setTmFromJndi(java.lang.Boolean)
{
java.lang.Boolean v;
org.apache.activemq.jms.pool.XaPooledConnectionFactory v;
v := @this: org.apache.activemq.jms.pool.XaPooledConnectionFactory;
v := @parameter: java.lang.Boolean;
v.<org.apache.activemq.jms.pool.XaPooledConnectionFactory: java.lang.Boolean tmFromJndi> = v;
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/jms/pool/XaPooledConnectionFactory;");
<org.apache.activemq.jms.pool.XaPooledConnectionFactory: org.slf4j.Logger LOG> = v;
return;
}
}