2 Replies Latest reply on Dec 29, 2004 6:11 PM by Elias Ross

    depends element doesn't work normally

    Zhaobo Newbie

      I have a mbean. In its startService method, I use DestinationManagaer to create a JMS Topic. So I define a depends element such as

      <server>
       <mbean code="com.smartcode.framework.config.server.config.mbean.ConfigFile" name="com.s2.console.mbean:service=ConfigFile" xmbean-dd="META-INF/configfile-xmbean.xml">
       <!--attribute name="jndiName">s2/maps/MapTest</attribute--> <depends>jms.mq:service=DestinationManager</depends>
       </mbean>
      </server>
      

      But when jboss3.2.1 and jboss3.2.6 start up, they report error and can't start my mbean correctly. Why? Please tell me how can I do it correctly?

      Thanks.

        • 1. Re: depends element doesn't work normally
          Zhaobo Newbie

           

           protected void startService() throws Exception {
           ObjectName name = new ObjectName("jboss.mq:service=DestinationManager");
           server.invoke(name, "createTopic", new Object[] { jmsTopic_ConfigFile,
           jndiName }, new String[] { "java.lang.String",
           "java.lang.String" });
           System.out.println("Succeed to create JMS Topic!");
           }
          
           protected void stopService() throws Exception {
           ObjectName name = new ObjectName("jboss.mq:service=DestinationManager");
           server.invoke(name, "destroyTopic",
           new Object[] { jmsTopic_ConfigFile },
           new String[] { "java.lang.String" });
           System.out.println("Succeed to destroy JMS Topic!");
           }
          


          After I comment the two methods, then jboss start up normally.
          ...
          22:47:18,328 INFO [DestinationManager] Starting
          22:47:18,343 INFO [DestinationManager] Started
          22:47:18,343 INFO [JNDIMap] Starting
          22:47:18,359 INFO [JNDIMap] Created Map proxy to handle notifications
          22:47:18,375 INFO [JNDIMap] fullName=inmemory/maps/MapTest
          22:47:18,437 INFO [JNDIMap] Started
          22:47:18,437 INFO [ConfigFile] Starting
          22:47:18,437 INFO [ConfigFile] Started
          22:47:18,453 INFO [SecurityManager] Starting
          ...
          

          But I uncomment the two methods, jboss report error:
          ...
          22:51:12,500 INFO [DestinationManager] Starting
          22:51:12,500 INFO [DestinationManager] Started
          22:51:12,500 INFO [JNDIMap] Starting
          22:51:12,515 INFO [JNDIMap] Created Map proxy to handle notifications
          22:51:12,515 INFO [JNDIMap] fullName=inmemory/maps/MapTest
          22:51:12,578 INFO [JNDIMap] Started
          22:51:12,578 INFO [ConfigFile] Starting
          22:51:12,593 INFO [s2/ConfigFile] Creating
          22:51:12,593 INFO [s2/ConfigFile] Created
          22:51:12,593 INFO [s2/ConfigFile] Starting
          22:51:12,625 INFO [s2/ConfigFile] Bound to JNDI name: s2/config/IBS_CONFIG
          22:51:12,625 INFO [s2/ConfigFile] Started
          22:51:12,625 INFO [STDOUT] Succeed to create JMS Topic!
          22:51:12,625 INFO [ConfigFile] Started
          22:51:12,625 INFO [JNDIMap] Stopping
          22:51:12,640 INFO [JNDIMap] Stopped
          22:51:12,640 INFO [ConfigFile] Stopping
          22:51:12,640 INFO [s2/ConfigFile] Stopping
          22:51:12,640 INFO [s2/ConfigFile] Stopped
          22:51:12,640 INFO [s2/ConfigFile] Destroying
          22:51:12,640 INFO [s2/ConfigFile] Destroyed
          22:51:12,640 INFO [STDOUT] Succeed to destroy JMS Topic!
          22:51:12,640 INFO [ConfigFile] Stopped
          22:51:12,640 ERROR [SARDeployer] Could not stop mbean: jboss.mq:service=PersistenceManager
          java.util.ConcurrentModificationException
           at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:552)
           at java.util.LinkedList$ListItr.next(LinkedList.java:488)
           at org.jboss.system.ServiceController.stop(ServiceController.java:454)
           at org.jboss.system.ServiceController.stop(ServiceController.java:456)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
           at $Proxy5.stop(Unknown Source)
           at org.jboss.deployment.SARDeployer.stop(SARDeployer.java:373)
           at org.jboss.deployment.SARDeployer.start(SARDeployer.java:233)
           at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
           at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824)
           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
           at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
           at $Proxy7.deploy(Unknown Source)
           at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
           at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
           at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200)
           at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273)
           at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
           at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
           at $Proxy0.start(Unknown Source)
           at org.jboss.system.ServiceController.start(ServiceController.java:392)
           at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
           at $Proxy5.start(Unknown Source)
           at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
           at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640)
           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:597)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
           at $Proxy6.deploy(Unknown Source)
           at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:365)
           at org.jboss.system.server.ServerImpl.start(ServerImpl.java:272)
           at org.jboss.Main.boot(Main.java:150)
           at org.jboss.Main$1.run(Main.java:388)
           at java.lang.Thread.run(Thread.java:534)
          22:51:12,640 INFO [DynamicStateManager] Stopping
          22:51:12,640 INFO [DynamicStateManager] Stopped
          22:51:12,640 INFO [CacheStore] Stopping
          22:51:12,640 INFO [CacheStore] Stopped
          22:51:12,640 INFO [MessageCache] Stopping
          22:51:12,656 INFO [MessageCache] Stopped
          ...
          

          Why does jboss stop my xmbean after the mbean started? Because the depends elements are incomplete?

          • 2. Re: depends element doesn't work normally
            Elias Ross Master


            I think your has the wrong ObjectName

            jms.mq:service=DestinationManager

            Also try on 3.2.7RC1 as I fixed a related concurrent modification bug.