JMX clienter och lite annat i lib, fungerande runner
JMX clienterna finns för 2 olika wls versioner fast dessa inte behövs
Showing
9 changed files
with
44 additions
and
26 deletions
LILJM/lib/jconsole.1.8.0_91.jar
0 → 100644
No preview for this file type
LILJM/lib/jconsole_AIdK10_S2.bat
0 → 100644
| 1 | javaw.exe -Dcom.sun.management.jmxremote.ssl=false -cp "wls-10.3.6.0.161018.2/wljmxclient.jar;jconsole.1.8.0_91.jar" sun.tools.jconsole.JConsole "service:jmx:rmi:///jndi/iiop://u30128:23032/weblogic.management.mbeanservers.runtime" | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
LILJM/lib/jconsole_ATdK8_S2.bat
0 → 100644
| 1 | javaw.exe -Dcom.sun.management.jmxremote.ssl=false -cp "wls-10.3.6.0.12.1/wljmxclient.jar;jconsole.1.8.0_91.jar" sun.tools.jconsole.JConsole "service:jmx:rmi:///jndi/iiop://u30009:26732/weblogic.management.mbeanservers.runtime" | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
LILJM/lib/wls-10.3.6.0.12.1/wlclient.jar
0 → 100644
No preview for this file type
LILJM/lib/wls-10.3.6.0.12.1/wljmxclient.jar
0 → 100644
No preview for this file type
LILJM/lib/wls-10.3.6.0.161018.2/wlclient.jar
0 → 100644
No preview for this file type
No preview for this file type
| ... | @@ -16,42 +16,37 @@ import javax.management.remote.JMXConnector; | ... | @@ -16,42 +16,37 @@ import javax.management.remote.JMXConnector; |
| 16 | import javax.management.remote.JMXConnectorFactory; | 16 | import javax.management.remote.JMXConnectorFactory; |
| 17 | import javax.management.remote.JMXServiceURL; | 17 | import javax.management.remote.JMXServiceURL; |
| 18 | import javax.management.openmbean.CompositeData; | 18 | import javax.management.openmbean.CompositeData; |
| 19 | import javax.management.openmbean.TabularData; | ||
| 19 | 20 | ||
| 20 | public class JmxMon { | 21 | public class JmxMon { |
| 21 | String conUser = "system"; | 22 | String conUser = "system"; |
| 22 | String conPass = "passw0rd"; | 23 | String conPass = "passw0rd"; |
| 23 | String domain = null; | 24 | String domainName = null; |
| 25 | String serverName = null; | ||
| 26 | String runtimeName = null; | ||
| 24 | 27 | ||
| 25 | JMXServiceURL url = null; | 28 | JMXServiceURL url = null; |
| 26 | JMXConnector jmxc = null; | 29 | JMXConnector jmxc = null; |
| 27 | MBeanServerConnection mbsc = null; | 30 | MBeanServerConnection mbsc = null; |
| 28 | 31 | ||
| 32 | Thread myThread = null; | ||
| 33 | ClassLoader myCL = null; | ||
| 34 | |||
| 29 | Collector col = new Collector(); | 35 | Collector col = new Collector(); |
| 30 | 36 | ||
| 31 | int getDataCalls = 0; | 37 | int getDataCalls = 0; |
| 32 | int getDataSucess = 0; | 38 | int getDataSucess = 0; |
| 33 | 39 | ||
| 34 | public void dumpAllMBeans() { | 40 | public Object getAttributeValue(String name, String attribute) { |
| 35 | dumpAllMBeans(null); | 41 | Object ro = null; |
| 36 | } | ||
| 37 | |||
| 38 | public void dumpAllMBeans(String query) { | ||
| 39 | if(mbsc != null) { | 42 | if(mbsc != null) { |
| 40 | try { | 43 | try { |
| 41 | Set<ObjectName> res = mbsc.queryNames(query != null ? new ObjectName(query) : ObjectName.WILDCARD, null); | 44 | ro = mbsc.getAttribute(new ObjectName(name), attribute); |
| 42 | for (ObjectName name : res) { | ||
| 43 | System.out.println(name.getCanonicalName()); | ||
| 44 | MBeanInfo inf = mbsc.getMBeanInfo(name); | ||
| 45 | MBeanAttributeInfo[] attribs = inf.getAttributes(); | ||
| 46 | for (MBeanAttributeInfo ainf : attribs) { | ||
| 47 | System.out.println("(" + ainf.getType() + ") " + ainf.getName()); | ||
| 48 | } | ||
| 49 | } | ||
| 50 | } catch (Exception e) { | 45 | } catch (Exception e) { |
| 51 | // TODO Auto-generated catch block | 46 | ro = e; |
| 52 | e.printStackTrace(); | ||
| 53 | } | 47 | } |
| 54 | } | 48 | } |
| 49 | return ro; | ||
| 55 | } | 50 | } |
| 56 | 51 | ||
| 57 | public int getDataCalled() { | 52 | public int getDataCalled() { |
| ... | @@ -71,11 +66,33 @@ public class JmxMon { | ... | @@ -71,11 +66,33 @@ public class JmxMon { |
| 71 | else return null; | 66 | else return null; |
| 72 | } | 67 | } |
| 73 | 68 | ||
| 69 | public String getServerName() { | ||
| 70 | return serverName; | ||
| 71 | } | ||
| 72 | |||
| 73 | public String getDomainName() { | ||
| 74 | return domainName; | ||
| 75 | } | ||
| 76 | |||
| 77 | public String getRuntimeName() { | ||
| 78 | return runtimeName; | ||
| 79 | } | ||
| 80 | |||
| 74 | public void open() throws IOException { | 81 | public void open() throws IOException { |
| 75 | if(url != null) { | 82 | if(url != null) { |
| 76 | jmxc = JMXConnectorFactory.connect(url); | 83 | jmxc = JMXConnectorFactory.connect(url); |
| 77 | mbsc = jmxc.getMBeanServerConnection(); | 84 | mbsc = jmxc.getMBeanServerConnection(); |
| 78 | domain = mbsc.getDefaultDomain(); | 85 | domainName = mbsc.getDefaultDomain(); |
| 86 | Object obj = getAttributeValue("java.lang:type=Runtime", "Name"); | ||
| 87 | if(obj.getClass().equals(java.lang.String.class)) { | ||
| 88 | runtimeName = (String)obj; | ||
| 89 | } | ||
| 90 | obj = getAttributeValue("java.lang:type=Runtime", "SystemProperties"); | ||
| 91 | TabularData td = (TabularData)obj; | ||
| 92 | for (Object o : td.values()) { | ||
| 93 | CompositeData d = (CompositeData)o; | ||
| 94 | if(d.get("key").toString().equals("weblogic.Name")) serverName = d.get("value").toString(); | ||
| 95 | } | ||
| 79 | } | 96 | } |
| 80 | } | 97 | } |
| 81 | 98 | ... | ... |
| ... | @@ -19,8 +19,8 @@ public class TestRunner { | ... | @@ -19,8 +19,8 @@ public class TestRunner { |
| 19 | 19 | ||
| 20 | Long ts1 = System.currentTimeMillis(); | 20 | Long ts1 = System.currentTimeMillis(); |
| 21 | 21 | ||
| 22 | //JmxMon mon1 = new JmxMon("service:jmx:rmi:///jndi/iiop://u01892.ef.kap.rsv.se:17020/weblogic.management.mbeanservers.runtime"); | 22 | JmxMon mon1 = new JmxMon("service:jmx:rmi:///jndi/iiop://u30128:23032/weblogic.management.mbeanservers.runtime"); // 10.3.6.0.161018.2 |
| 23 | JmxMon mon1 = new JmxMon("service:jmx:iiop:///jndi/iiop://u30009:26732/weblogic.management.mbeanservers.runtime"); | 23 | //JmxMon mon1 = new JmxMon("service:jmx:rmi:///jndi/iiop://u30009:26732/weblogic.management.mbeanservers.runtime"); // 10.3.6.0.12.1 |
| 24 | mon1.open(); | 24 | mon1.open(); |
| 25 | jmxList.add(mon1); | 25 | jmxList.add(mon1); |
| 26 | 26 | ||
| ... | @@ -31,8 +31,11 @@ public class TestRunner { | ... | @@ -31,8 +31,11 @@ public class TestRunner { |
| 31 | + "\nTime: " + time + "ms\n" | 31 | + "\nTime: " + time + "ms\n" |
| 32 | ); | 32 | ); |
| 33 | 33 | ||
| 34 | mon1.dumpAllMBeans("java.lang:*"); | 34 | System.out.println("Connected to server " + mon1.getServerName() + " on domain " + mon1.getDomainName() + " and machine " + mon1.getRuntimeName()); |
| 35 | 35 | ||
| 36 | //mon1.listAllMBeans(); | ||
| 37 | //mon1.dumpAllMBeans("java.lang:*"); | ||
| 38 | /* | ||
| 36 | int times = 0; | 39 | int times = 0; |
| 37 | while(times-- > 0) { | 40 | while(times-- > 0) { |
| 38 | for(JmxMon mon : jmxList) { | 41 | for(JmxMon mon : jmxList) { |
| ... | @@ -41,11 +44,6 @@ public class TestRunner { | ... | @@ -41,11 +44,6 @@ public class TestRunner { |
| 41 | mon.getData(); | 44 | mon.getData(); |
| 42 | time = System.currentTimeMillis() - ts1; | 45 | time = System.currentTimeMillis() - ts1; |
| 43 | 46 | ||
| 44 | System.out.println( | ||
| 45 | "GetData called on " + mon.domain + " (age was " + age + "s)" | ||
| 46 | + "\nTime: " + time + "ms\n\n" | ||
| 47 | ); | ||
| 48 | |||
| 49 | } | 47 | } |
| 50 | Thread.sleep(15000); | 48 | Thread.sleep(15000); |
| 51 | } | 49 | } |
| ... | @@ -55,5 +53,6 @@ public class TestRunner { | ... | @@ -55,5 +53,6 @@ public class TestRunner { |
| 55 | mon.close(); | 53 | mon.close(); |
| 56 | System.out.println("Monitor closed. " + mon.getDataCalled() + " calls and " + mon.getDataSucceeded() + " succeeded and " + mon.getDataFailed() + " failed."); | 54 | System.out.println("Monitor closed. " + mon.getDataCalled() + " calls and " + mon.getDataSucceeded() + " succeeded and " + mon.getDataFailed() + " failed."); |
| 57 | } | 55 | } |
| 56 | */ | ||
| 58 | } | 57 | } |
| 59 | } | 58 | } | ... | ... |
-
Please register or sign in to post a comment