Activemq ブローカーを実行している同じプロセスから jmx 機能にアクセスし、Web サービスを介していくつかのプロパティを公開しようとしています。コードは次のようになります。
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
try {
ObjectName name = new ObjectName("org.apache.activemq:BrokerName=locahost,Type=Broker");
BrokerViewMBean brokerViewMBean = JMX.newMBeanProxy(mbs, name, BrokerViewMBean.class);
ObjectName[] queues = brokerViewMBean.getQueues();
.
.
.
} catch (Exception e) {
e.printStackTrace();
}
このコードを実行すると、次の例外が発生します。
java.lang.reflect.UndeclaredThrowableException at $Proxy51.getQueues(Unknown Source) at com.myinc.MyObject.getAllQueues(MyObject.java:37) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl. org.apache.cxf.service.invoker で java.lang.reflect.Method.invoke(Method.java:597) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で (NativeMethodAccessorImpl.java:39) を呼び出す.AbstractInvoker.performInvocation(AbstractInvoker.java:180) org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:178) ) org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:64) で、org.apache.cxf.service で。java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441 で) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) で java.util.concurrent.FutureTask.run(FutureTask.java:138) で org.apache.cxf.workqueue.SynchronousExecutor.execute( SynchronousExecutor.java:37) org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107) org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) org.apache.cxf org.apache.cxf.transport.http.AbstractHTTPDestination の .transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)。org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213) での invoke(AbstractHTTPDestination.java:211) org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193) でのorg.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:130) で org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:221) で org.apache.cxf.transport .servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:141) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:197) ) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) で org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) org .apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve) .java:109) で org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) で org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) で org.apache.coyote. org.apache.tomcat.util.net.JIoEndpoint$Worker の http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)。run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) 原因: javax.management.InstanceNotFoundException: org.apache.activemq:BrokerName=locahost,Type=Broker at com.sun. jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1094) com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:662) com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java: 638) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263) ... 39 詳細com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:662) の getMBean(DefaultMBeanServerInterceptor.java:1094) com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:638) の javax.management .MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263) ... 39 詳細com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:662) の getMBean(DefaultMBeanServerInterceptor.java:1094) com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:638) の javax.management .MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263) ... 39 詳細
誰が私が間違っているのか、この例外が何を言おうとしているのか教えてもらえますか?
ありがとう。