public abstract class org.apache.activemq.console.command.AbstractJmxCommand extends org.apache.activemq.console.command.AbstractCommand
{
public static java.lang.String DEFAULT_JMX_URL;
private static java.lang.String jmxUser;
private static java.lang.String jmxPassword;
private static boolean jmxUseLocal;
private static final java.lang.String CONNECTOR_ADDRESS;
private javax.management.remote.JMXServiceURL jmxServiceUrl;
private javax.management.remote.JMXConnector jmxConnector;
private javax.management.MBeanServerConnection jmxConnection;
public void <init>()
{
org.apache.activemq.console.command.AbstractJmxCommand v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
specialinvoke v.<org.apache.activemq.console.command.AbstractCommand: void <init>()>();
return;
}
protected javax.management.remote.JMXServiceURL getJmxServiceUrl()
{
javax.management.remote.JMXServiceURL v;
org.apache.activemq.console.command.AbstractJmxCommand v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXServiceURL jmxServiceUrl>;
return v;
}
public static java.lang.String getJVM()
{
java.lang.String v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.vm.specification.vendor");
return v;
}
public static boolean isSunJVM()
{
java.lang.String v, v;
boolean v, v, v;
v = staticinvoke <org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String getJVM()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("Sun Microsystems Inc.");
if v != 0 goto label;
v = staticinvoke <org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String getJVM()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("Oracle");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected java.lang.String findJMXUrlByProcessId(int)
{
java.net.URL v;
java.net.URL[] v;
java.net.URLClassLoader v;
java.net.URI v;
java.lang.reflect.Method v, v, v, v;
boolean v, v, v;
java.lang.Exception v;
java.lang.Object[] v, v, v, v;
org.apache.activemq.console.command.AbstractJmxCommand v;
int v;
java.lang.String v, v, v, v, v, v, v;
java.util.Iterator v;
java.lang.Class[] v, v, v, v;
java.io.File v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v := @parameter: int;
v = staticinvoke <org.apache.activemq.console.command.AbstractJmxCommand: boolean isSunJVM()>();
if v == 0 goto label;
label:
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.home");
v = <java.io.File: java.lang.String separator>;
v = <java.io.File: java.lang.String separator>;
v = <java.io.File: java.lang.String separator>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, 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\u..\u0001lib\u0001tools.jar");
v = new java.net.URLClassLoader;
v = newarray (java.net.URL)[1];
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.net.URL toURL()>();
v[0] = v;
specialinvoke v.<java.net.URLClassLoader: void <init>(java.net.URL[])>(v);
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>("com.sun.tools.attach.VirtualMachine", 1, v);
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>("com.sun.tools.attach.VirtualMachineDescriptor", 1, v);
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("list", v);
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("attach", v);
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("getAgentProperties", v);
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("id", v);
v = (java.lang.Object[]) null;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(null, v);
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 = (java.lang.Object[]) null;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
v = staticinvoke <java.lang.Integer: java.lang.String toString(int)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(null, v);
v = (java.lang.Object[]) null;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>("com.sun.management.jmxremote.localConnectorAddress");
if v == null goto label;
label:
return v;
label:
v := @caughtexception;
label:
return null;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected javax.management.remote.JMXServiceURL useJmxServiceUrl() throws java.net.MalformedURLException
{
java.net.URL v;
java.net.URL[] v;
java.net.URLClassLoader v;
java.net.URI v;
java.lang.reflect.Method v, v, v, v, v;
boolean v, v, v;
org.apache.activemq.console.CommandContext v, v, v;
javax.management.remote.JMXServiceURL v, v;
java.lang.Exception v;
java.lang.Object[] v, v, v, v, v;
org.apache.activemq.console.command.AbstractJmxCommand v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
java.lang.Class[] v, v, v, v, v;
java.io.File v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v = virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXServiceURL getJmxServiceUrl()>();
if v != null goto label;
v = <org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String DEFAULT_JMX_URL>;
v = (int) -1;
v = v;
v = staticinvoke <org.apache.activemq.console.command.AbstractJmxCommand: boolean isSunJVM()>();
if v == 0 goto label;
label:
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.home");
v = <java.io.File: java.lang.String separator>;
v = <java.io.File: java.lang.String separator>;
v = <java.io.File: java.lang.String separator>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, 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\u..\u0001lib\u0001tools.jar");
v = new java.net.URLClassLoader;
v = newarray (java.net.URL)[1];
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.net.URL toURL()>();
v[0] = v;
specialinvoke v.<java.net.URLClassLoader: void <init>(java.net.URL[])>(v);
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>("com.sun.tools.attach.VirtualMachine", 1, v);
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>("com.sun.tools.attach.VirtualMachineDescriptor", 1, v);
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("list", v);
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("attach", v);
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("getAgentProperties", v);
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("displayName", v);
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("id", v);
v = (java.lang.Object[]) null;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(null, v);
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 = (java.lang.Object[]) null;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("activemq.jar start");
if v == 0 goto label;
v = (java.lang.Object[]) null;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
v = newarray (java.lang.Object)[1];
v[0] = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(null, v);
v = (java.lang.Object[]) null;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>("com.sun.management.jmxremote.localConnectorAddress");
if v == null goto label;
v = v;
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
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[])>("useJmxServiceUrl Found JMS Url: \u0001");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
goto label;
label:
v := @caughtexception;
label:
v = (int) -1;
if v == v goto label;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Connecting to pid: \u0001");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
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[])>("Connecting to JMX URL: \u0001");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
label:
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void setJmxServiceUrl(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXServiceURL getJmxServiceUrl()>();
return v;
catch java.lang.Exception from label to label with label;
}
protected void setJmxServiceUrl(javax.management.remote.JMXServiceURL)
{
javax.management.remote.JMXServiceURL v;
org.apache.activemq.console.command.AbstractJmxCommand v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v := @parameter: javax.management.remote.JMXServiceURL;
v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXServiceURL jmxServiceUrl> = v;
return;
}
protected void setJmxServiceUrl(java.lang.String) throws java.net.MalformedURLException
{
java.lang.String v;
javax.management.remote.JMXServiceURL v;
org.apache.activemq.console.command.AbstractJmxCommand v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v := @parameter: java.lang.String;
v = new javax.management.remote.JMXServiceURL;
specialinvoke v.<javax.management.remote.JMXServiceURL: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void setJmxServiceUrl(javax.management.remote.JMXServiceURL)>(v);
return;
}
public java.lang.String getJmxUser()
{
java.lang.String v;
org.apache.activemq.console.command.AbstractJmxCommand v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v = <org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxUser>;
return v;
}
public void setJmxUser(java.lang.String)
{
java.lang.String v;
org.apache.activemq.console.command.AbstractJmxCommand v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v := @parameter: java.lang.String;
<org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxUser> = v;
return;
}
public java.lang.String getJmxPassword()
{
java.lang.String v;
org.apache.activemq.console.command.AbstractJmxCommand v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v = <org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxPassword>;
return v;
}
public void setJmxPassword(java.lang.String)
{
java.lang.String v;
org.apache.activemq.console.command.AbstractJmxCommand v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v := @parameter: java.lang.String;
<org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxPassword> = v;
return;
}
public boolean isJmxUseLocal()
{
org.apache.activemq.console.command.AbstractJmxCommand v;
boolean v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v = <org.apache.activemq.console.command.AbstractJmxCommand: boolean jmxUseLocal>;
return v;
}
public void setJmxUseLocal(boolean)
{
org.apache.activemq.console.command.AbstractJmxCommand v;
boolean v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v := @parameter: boolean;
<org.apache.activemq.console.command.AbstractJmxCommand: boolean jmxUseLocal> = v;
return;
}
private javax.management.remote.JMXConnector createJmxConnector() throws java.io.IOException
{
java.lang.String[] v;
java.util.HashMap v;
javax.management.remote.JMXServiceURL v, v;
org.apache.activemq.console.command.AbstractJmxCommand v;
java.lang.String v, v, v, v;
javax.management.remote.JMXConnector v, v, v, v, v, v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector jmxConnector>;
if v == null goto label;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector jmxConnector>;
interfaceinvoke v.<javax.management.remote.JMXConnector: void connect()>();
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector jmxConnector>;
return v;
label:
v = <org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxUser>;
if v == null goto label;
v = <org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxPassword>;
if v == null goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = newarray (java.lang.String)[2];
v = <org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxUser>;
v[0] = v;
v = <org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxPassword>;
v[1] = v;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("jmx.remote.credentials", v);
v = virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXServiceURL useJmxServiceUrl()>();
v = staticinvoke <javax.management.remote.JMXConnectorFactory: javax.management.remote.JMXConnector connect(javax.management.remote.JMXServiceURL,java.util.Map)>(v, v);
v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector jmxConnector> = v;
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXServiceURL useJmxServiceUrl()>();
v = staticinvoke <javax.management.remote.JMXConnectorFactory: javax.management.remote.JMXConnector connect(javax.management.remote.JMXServiceURL)>(v);
v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector jmxConnector> = v;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector jmxConnector>;
return v;
}
protected void closeJmxConnection()
{
org.apache.activemq.console.command.AbstractJmxCommand v;
java.io.IOException v;
javax.management.remote.JMXConnector v, v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector jmxConnector>;
if v == null goto label;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector jmxConnector>;
interfaceinvoke v.<javax.management.remote.JMXConnector: void close()>();
v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector jmxConnector> = null;
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.io.IOException from label to label with label;
}
protected javax.management.MBeanServerConnection createJmxConnection() throws java.io.IOException
{
javax.management.MBeanServerConnection v, v, v;
org.apache.activemq.console.command.AbstractJmxCommand v;
javax.management.MBeanServer v;
javax.management.remote.JMXConnector v;
boolean v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.MBeanServerConnection jmxConnection>;
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: boolean isJmxUseLocal()>();
if v == 0 goto label;
v = staticinvoke <java.lang.management.ManagementFactory: javax.management.MBeanServer getPlatformMBeanServer()>();
v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.MBeanServerConnection jmxConnection> = v;
goto label;
label:
v = specialinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXConnector createJmxConnector()>();
v = interfaceinvoke v.<javax.management.remote.JMXConnector: javax.management.MBeanServerConnection getMBeanServerConnection()>();
v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.MBeanServerConnection jmxConnection> = v;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.MBeanServerConnection jmxConnection>;
return v;
}
protected void handleOption(java.lang.String, java.util.List) throws java.lang.Exception
{
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.console.CommandContext v, v, v, v, v, v, v, v, v, v, v;
javax.management.remote.JMXServiceURL v, v, v, v;
java.util.List v;
org.apache.activemq.console.command.AbstractJmxCommand v;
int v;
java.lang.String v, v, v, v;
java.net.MalformedURLException v, v;
java.lang.IllegalArgumentException v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("--jmxurl");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("-");
if v == 0 goto label;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("JMX URL not specified.");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printException(java.lang.Exception)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXServiceURL getJmxServiceUrl()>();
if v == null goto label;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Multiple JMX URL cannot be specified.");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printException(java.lang.Exception)>(v);
interfaceinvoke v.<java.util.List: void clear()>();
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(0);
label:
v = new javax.management.remote.JMXServiceURL;
specialinvoke v.<javax.management.remote.JMXServiceURL: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void setJmxServiceUrl(javax.management.remote.JMXServiceURL)>(v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printException(java.lang.Exception)>(v);
interfaceinvoke v.<java.util.List: void clear()>();
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("--pid");
if v == 0 goto label;
v = staticinvoke <org.apache.activemq.console.command.AbstractJmxCommand: boolean isSunJVM()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("-");
if v == 0 goto label;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("pid not specified");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printException(java.lang.Exception)>(v);
return;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(0);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Connecting to pid: \u0001");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String findJMXUrlByProcessId(int)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXServiceURL getJmxServiceUrl()>();
if v == null goto label;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("JMX URL already specified.");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printException(java.lang.Exception)>(v);
interfaceinvoke v.<java.util.List: void clear()>();
label:
v = new javax.management.remote.JMXServiceURL;
specialinvoke v.<javax.management.remote.JMXServiceURL: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void setJmxServiceUrl(javax.management.remote.JMXServiceURL)>(v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printException(java.lang.Exception)>(v);
interfaceinvoke v.<java.util.List: void clear()>();
goto label;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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 to resolve jmxUrl for pid:\u, using default JMX url");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printInfo(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printInfo(java.lang.String)>("--pid option is not available for this VM, using default JMX url");
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("--jmxuser");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("-");
if v == 0 goto label;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("JMX user not specified.");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printException(java.lang.Exception)>(v);
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(0);
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void setJmxUser(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("--jmxpassword");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("-");
if v == 0 goto label;
label:
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: org.apache.activemq.console.CommandContext context>;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("JMX password not specified.");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printException(java.lang.Exception)>(v);
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(0);
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void setJmxPassword(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("--jmxlocal");
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void setJmxUseLocal(boolean)>(1);
goto label;
label:
specialinvoke v.<org.apache.activemq.console.command.AbstractCommand: void handleOption(java.lang.String,java.util.List)>(v, v);
label:
return;
catch java.net.MalformedURLException from label to label with label;
catch java.net.MalformedURLException from label to label with label;
}
public void execute(java.util.List) throws java.lang.Exception
{
java.lang.Throwable v;
java.util.List v;
org.apache.activemq.console.command.AbstractJmxCommand v;
java.lang.String v;
javax.management.remote.JMXServiceURL v;
java.lang.Exception v;
v := @this: org.apache.activemq.console.command.AbstractJmxCommand;
v := @parameter: java.util.List;
label:
specialinvoke v.<org.apache.activemq.console.command.AbstractCommand: void execute(java.util.List)>(v);
label:
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void closeJmxConnection()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.console.command.AbstractJmxCommand: javax.management.remote.JMXServiceURL jmxServiceUrl>;
v = virtualinvoke v.<javax.management.remote.JMXServiceURL: java.lang.String toString()>();
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void handleException(java.lang.Exception,java.lang.String)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void closeJmxConnection()>();
return;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.console.command.AbstractJmxCommand: void closeJmxConnection()>();
throw v;
label:
return;
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;
}
static void <clinit>()
{
java.lang.String v, v, v, v;
boolean v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("activemq.jmx.url", "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi");
<org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String DEFAULT_JMX_URL> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("activemq.jmx.user");
<org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxUser> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("activemq.jmx.password");
<org.apache.activemq.console.command.AbstractJmxCommand: java.lang.String jmxPassword> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("activemq.jmx.useLocal", "false");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
<org.apache.activemq.console.command.AbstractJmxCommand: boolean jmxUseLocal> = v;
return;
}
}