Results 1 to 2 of 2

Thread: Accessing mbean but got InstanceNotFoundException

  1. #1
    Join Date
    Dec 2006
    Posts
    2

    Default Accessing mbean but got InstanceNotFoundException

    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

  2. #2
    Join Date
    Oct 2005
    Location
    Boston, MA
    Posts
    2,840

    Default

    Try adding <i>depends-on="exporter"</i> as an attribute of your 'queueMBean' bean element (since the exporter and proxy are running in the same process).

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •