public class org.apache.zookeeper.jmx.ManagedUtil extends java.lang.Object
{
private static final org.slf4j.Logger LOG;
public void <init>()
{
org.apache.zookeeper.jmx.ManagedUtil v;
v := @this: org.apache.zookeeper.jmx.ManagedUtil;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
private static boolean isLog4jJmxEnabled()
{
org.slf4j.Logger v, v, v;
java.lang.ClassNotFoundException v;
boolean v, v;
v = 0;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("zookeeper.jmx.log4j.disable");
if v == 0 goto label;
v = <org.apache.zookeeper.jmx.ManagedUtil: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Log4j 1.2 jmx support is disabled by property.");
goto label;
label:
staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("org.apache.log4j.jmx.HierarchyDynamicMBean");
v = 1;
v = <org.apache.zookeeper.jmx.ManagedUtil: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Log4j 1.2 jmx support found and enabled.");
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.jmx.ManagedUtil: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Log4j 1.2 jmx support not found; jmx disabled.");
label:
return v;
catch java.lang.ClassNotFoundException from label to label with label;
}
public static void registerLog4jMBeans() throws javax.management.JMException
{
java.lang.reflect.Method v, v, v, v, v, v, v;
boolean v, v;
javax.management.ObjectName v;
java.lang.Exception v;
javax.management.JMException v;
java.lang.Object[] v, v, v, v, v, v, v, v;
java.lang.reflect.Constructor v;
javax.management.MBeanServer v;
java.lang.String v, v;
org.slf4j.Logger v, v;
org.apache.zookeeper.jmx.MBeanRegistry v;
java.lang.Class[] v, v, v, v, v, v, v, v;
java.lang.Class v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v;
v = staticinvoke <org.apache.zookeeper.jmx.ManagedUtil: boolean isLog4jJmxEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.jmx.ManagedUtil: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("registerLog4jMBeans()");
v = staticinvoke <org.apache.zookeeper.jmx.MBeanRegistry: org.apache.zookeeper.jmx.MBeanRegistry getInstance()>();
v = virtualinvoke v.<org.apache.zookeeper.jmx.MBeanRegistry: javax.management.MBeanServer getPlatformMBeanServer()>();
label:
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("org.apache.log4j.jmx.HierarchyDynamicMBean");
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getConstructor(java.lang.Class[])>(v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("zookeeper.jmx.log4j.mbean", "log4j:hierarchy=default");
v = new javax.management.ObjectName;
specialinvoke v.<javax.management.ObjectName: void <init>(java.lang.String)>(v);
interfaceinvoke v.<javax.management.MBeanServer: javax.management.ObjectInstance registerMBean(java.lang.Object,javax.management.ObjectName)>(v, v);
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("org.apache.log4j.Logger");
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("getRootLogger", 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 = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("getName", 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.lang.Object: java.lang.Class getClass()>();
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[])>("addLoggerMBean", v);
v = newarray (java.lang.Object)[1];
v[0] = v;
virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("org.apache.log4j.LogManager");
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("getLoggerRepository", 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 = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("getCurrentLoggers", 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);
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = (java.lang.Class[]) null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("getName", 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.lang.Object: java.lang.Class getClass()>();
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[])>("addLoggerMBean", v);
v = newarray (java.lang.Object)[1];
v[0] = v;
virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.jmx.ManagedUtil: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Problems while registering log4j 1.2 jmx beans!", v);
v = new javax.management.JMException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String toString()>();
specialinvoke v.<javax.management.JMException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/jmx/ManagedUtil;");
<org.apache.zookeeper.jmx.ManagedUtil: org.slf4j.Logger LOG> = v;
return;
}
}