I am trying to retrieve an mbean through a proxy but got InstanceNotFoundException.
The environment:
Eclipse, Jdk1.5.0_11, Spring 2.0.3
The context:
<beans>
<bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServer FactoryBean" />
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporte r" lazy-init="false">
<property name="beans">
<map>
<entry key="bean:name=queuebean" value-ref="queue" />
</map>
</property>
<property name="server" ref="mbeanServer" />
<property name="autodetect" value="true" />
</bean>
<bean id="queue" class="com.mantech.sandbox.Queue">
<property name="messageCount" value="20" />
</bean>
<bean id="queueMBean" class="org.springframework.jmx.access.MBeanProxyFa ctoryBean">
<property name="objectName">
<value>bean:name=queuebean</value>
</property>
<property name="proxyInterface">
<value>com.mantech.sandbox.QueueMBean</value>
</property>
</bean>
</beans>
The output:
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'queueMBean' defined in class path resource [registry.xml]: Invocation of init method failed; nested exception is org.springframework.jmx.access.MBeanInfoRetrievalE xception: Unable to obtain MBean info for bean [bean:name=queuebean]: it is likely that this bean was unregistered during the proxy creation process; nested exception is javax.management.InstanceNotFoundException: bean:name=queuebean
Caused by: org.springframework.jmx.access.MBeanInfoRetrievalE xception: Unable to obtain MBean info for bean [bean:name=queuebean]: it is likely that this bean was unregistered during the proxy creation process; nested exception is javax.management.InstanceNotFoundException: bean:name=queuebean
Caused by: javax.management.InstanceNotFoundException: bean:name=queuebean
at com.sun.jmx.interceptor.DefaultMBeanServerIntercep tor.getMBean(DefaultMBeanServerInterceptor.java:10 10)
at com.sun.jmx.interceptor.DefaultMBeanServerIntercep tor.getMBeanInfo(DefaultMBeanServerInterceptor.jav a:1303)
at com.sun.jmx.mbeanserver.JmxMBeanServer.getMBeanInf o(JmxMBeanServer.java:903)
at org.springframework.jmx.access.MBeanClientIntercep tor.retrieveMBeanInfo(MBeanClientInterceptor.java: 223)
at org.springframework.jmx.access.MBeanClientIntercep tor.afterPropertiesSet(MBeanClientInterceptor.java :169)
at org.springframework.jmx.access.MBeanProxyFactoryBe an.afterPropertiesSet(MBeanProxyFactoryBean.java:8 1)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:1143)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.initializeBean(Abstract AutowireCapableBeanFactory.java:1110)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:431)
at org.springframework.beans.factory.support.Abstract BeanFactory$1.getObject(AbstractBeanFactory.java:2 54)
at org.springframework.beans.factory.support.DefaultS ingletonBeanRegistry.getSingleton(DefaultSingleton BeanRegistry.java:144)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:251)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:163)
at com.mantech.sandbox.RegistrationAgentTest.testRun( RegistrationAgentTest.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154 )
at junit.framework.TestCase.runBare(TestCase.java:127 )
at junit.framework.TestResult$1.protect(TestResult.ja va:106)
at junit.framework.TestResult.runProtected(TestResult .java:124)
at junit.framework.TestResult.run(TestResult.java:109 )
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:2 08)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit 3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecutio n.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.main(RemoteTestRunner.java:196)
Can someone please help me or point me in the right direction?
Thanks
Rey


Reply With Quote