1 Reply Latest reply on Nov 15, 2001 7:47 PM by john1889

    Case sensitive queue name fails to restore from persitent st

    john1889

      Jboss/tomcat 2.4.3
      Caldera linux 2.4
      sun's jvm 1.3.1
      parser: xerces(non standard)

      I believe that the queue names MUST start with a lower case letter, otherwise the rollinglogged.PersistenceManager.restore fails with NullPointerException.

      I have the following entries in jboss.jcml:





      This works. However if I change the name of the queue to 'P200' and restart jboss I receive the following error:

      [JBossMQService] Starting
      [JBossMQService] JBossMQ version 1.0.0 Beta Started
      [JBossMQService] Started
      [StateManager] Starting
      [StateManager] Started
      [PersistenceManager] Starting
      [PersistenceManager] Stopped
      java.lang.NullPointerException
      at org.jboss.mq.pm.rollinglogged.PersistenceManager.restore(PersistenceManager.java:375)
      at org.jboss.mq.pm.rollinglogged.PersistenceManager.startService(PersistenceManager.java:218)
      at org.jboss.util.ServiceMBeanSupport.start(ServiceMBeanSupport.java:107)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
      at org.jboss.configuration.ConfigurationService$ServiceProxy.invoke(ConfigurationService.java:836)
      at $Proxy0.start(Unknown Source)
      at org.jboss.util.ServiceControl.start(ServiceControl.java:81)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
      at org.jboss.Main.(Main.java:221)
      at org.jboss.Main$1.run(Main.java:127)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.jboss.Main.main(Main.java:123)
      [Configuration] java.lang.NullPointerException
      [Configuration] at org.jboss.mq.pm.rollinglogged.PersistenceManager.restore(PersistenceManager.java:375)
      [Configuration] at org.jboss.mq.pm.rollinglogged.PersistenceManager.startService(PersistenceManager.java:218)
      [Configuration] at org.jboss.util.ServiceMBeanSupport.start(ServiceMBeanSupport.java:107)
      [Configuration] at java.lang.reflect.Method.invoke(Native Method)
      [Configuration] at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
      [Configuration] at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
      [Configuration] at org.jboss.configuration.ConfigurationService$ServiceProxy.invoke(ConfigurationService.java:836)
      [Configuration] at $Proxy0.start(Unknown Source)
      [Configuration] at org.jboss.util.ServiceControl.start(ServiceControl.java:81)
      [Configuration] at java.lang.reflect.Method.invoke(Native Method)
      [Configuration] at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
      [Configuration] at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
      [Configuration] at org.jboss.Main.(Main.java:221)
      [Configuration] at org.jboss.Main$1.run(Main.java:127)
      [Configuration] at java.security.AccessController.doPrivileged(Native Method)
      [Configuration] at org.jboss.Main.main(Main.java:123)

      Upper case letters in the middle or end of the queue name don't see to have any adverse affects. Additionally, this doesn't appear to have any affect on the sucess of the queue creation. When I log into the admin console(8082) the queue shows up with the correct, upper case, name.

      The only real issue here is that the NPE is annoying, and although I haven't tested it, I fear that the messages for this queue will not be persisted properly, if at all.

      If I don't get a reponse that this has been fixed and is in CVS, a patch exists, or this is the intended behavior, I'll look into this issue and see if I can get a patch out by Monday.


      BTW: JBoss is smoking the competition.[If you can even call them that any more. :-)]

      -john:m

        • 1. Re: Case sensitive queue name fails to restore from persiten
          john1889

          Status update.

          As you probably all suspected this is NOT an issue with character case in the queue name.

          The problem seems to be that when you have a message driven bean for which there is not currently a queue, JBoss automagically sets up a queue for this bean. However, when a queue is later setup via jboss.jcml, the PersisistenceManager is somehow confused and throws a NPE.

          The [tmp] fix is to remove all of the old files relating to the queue in /$JBOSS_HOME/db/jbossmq/ and restart jboss. This fixes the problem.

          -john:m