2 Replies Latest reply on Sep 18, 2002 12:39 AM by hchirino

    Rollinglogged in JBoss-3.0.2

    jbac

      We are using the release binary distribution of JBoss 3.0.2 on Linux and Solaris with JDK 1.4.

      The file-based PersistenceManager is painfully slow (especially on Solaris). We would like to try using the rollinglogged PersistenceManager. We have the following lines in the jbossmq-service.xml:



      db/jbossmq/rollinglogged
      <depends optional-attribute-name="MessageCache">jboss.mq:service=MessageCache


      When we do this, we get the following exception during JBoss startup:

      11:08:28,070 INFO [PersistenceManager] Starting
      11:08:28,081 ERROR [PersistenceManager] Starting failed
      ReflectionException: null
      Cause: java.lang.NoSuchMethodException: Unable to locate method for: getInstance()
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:288)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.mq.pm.rollinglogged.PersistenceManager.startService(PersistenceManager.java:268)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:164)
      at sun.reflect.GeneratedMethodAccessor8.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:517)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:967)
      at $Proxy5.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:396)
      at org.jboss.system.ServiceController.start(ServiceController.java:416)
      at org.jboss.system.ServiceController.start(ServiceController.java:416)
      at sun.reflect.GeneratedMethodAccessor7.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:517)
      at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
      at $Proxy3.start(Unknown Source)
      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:249)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:802)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:616)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:580)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      ......


      Would appreciate some help in setting rollinglogged up. Thanks.

        • 1. Re: Rollinglogged in JBoss-3.0.2
          greg33

          Hi,
          I had the exact same problem, just today. I've downloaded the source from CVS and had a dig around in it.

          The problem (please correct me, anyone) seems to be with the way the the rollinglogged PersistanceManager gets the message cache (in the startService() method).
          --> messageCache = (MessageCache)
          --> getServer().invoke(messageCacheName,
          --> "getInstance",
          --> new Object[0], new String[0]);

          I changed this line to:
          -->messageCache = (MessageCache)
          getServer().getAttribute(messageCacheName, "Instance");

          (Incidentally, this is how it is done in the file PersistanceManager).

          This seems to do the trick, and I've been running without any problems.

          • 2. Re: Rollinglogged in JBoss-3.0.2
            hchirino

            This has been fixed in CVS.