HeapMemoryUsage
オーサー インスタンスからパブリッシュ サーバーのを取得しようとしています。以下に呼び出されるサーブレットのコードを添付しました。
NullPointerException
例外では、行 88 で が取得されていることがわかりますJMXConnectorFactory.connect(serviceUrl)
。
Jconsole から、またはテスト クラス (main メソッドを使用してローカル) から実行することにより、問題なく機能します。
例外:
29.11.2012 15:01:17.407 *ERROR* [127.0.0.1 [1354197677403] GET /bin/cqdashboard HTTP/1.1] org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught Throwable java.lang.NullPointerException
at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2327)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:277)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)
at com.test.cq.dashboard.servlet.DashboardTestServlet.doGet(DashboardTestServlet.java:88)
.....
コード:
String jmxUrl = "service:jmx:rmi:///jndi/rmi://127.0.0.1:43004/jmxrmi";
JMXServiceURL serviceUrl = new JMXServiceURL(jmxUrl);
JMXConnector jmxConnector = JMXConnectorFactory.connect(serviceUrl);
MBeanServerConnection mbeanConn = jmxConnector.getMBeanServerConnection();
ObjectName on = new ObjectName("java.lang:type=Memory");
CompositeData cd = (CompositeData) mbeanConn.getAttribute(on, "HeapMemoryUsage");
response.getWriter().write(cd.get("used"));
// System.out.println(cd.get("used"));
- OSGi バンドルの一部のパッケージをインポートする必要がありますか?
- アドビが提供する他のクラスを使用する必要がありますか?
- そのようなことはできませんか?
よろしくお願いします