Hi everyone,
congratulation for such a good product. I've been using JBoss for 2 months
now and I really like what you do. I've also been following the JBoss-dev
mailing list for 1 month now and what you will do with Rabbit Hole will be
killer.
Since I
started using 2.2.2 I have noticed a problem. Here how to reproduce
the problem:
- Deploy a
war file in the deploy directory that registers a context but not "/" (e.g.:
"/test" ).
- Deploy a
war file in the deploy directory that registers the "/"
context.
If you try
to access /test or any path in /test that should be there, you hit a Not
Found (404) page.
I can still
reproduce the bug in 2.4.1 and it also appears when put the war files in
ears.
Maybe this
problem belongs to the Tomcat group. If this is the case, maybe you now under
what list to forward the problem or where to file a
bug.
Maybe I
should have filed a bug myself but i don't know if this really is a
bug.
I also have
a weird behavior. In 2.4.1, JBossMQ configuration was changed. The new
configuration is better but now the PersistenceManager is crashing. I found out
that when a bean registers a durable topic (the john needle in my case) the
jbossmq-state.xml is changed to:
<?xml
version="1.0"
encoding="UTF-8"?>
<StateManager>
<User>
<Name>guest</Name>
<Password>guest</Password>
</User>
<User>
<Name>john</Name>
<Password>needle</Password>
<Id>DurableSubscriberExample</Id>
<DurableSubscription>
<Name>DurableSubscriberExample</Name>
<TopicName>testTopic</TopicName>
</DurableSubscription>
</User>
</StateManager>
<StateManager>
<User>
<Name>guest</Name>
<Password>guest</Password>
</User>
<User>
<Name>john</Name>
<Password>needle</Password>
<Id>DurableSubscriberExample</Id>
<DurableSubscription>
<Name>DurableSubscriberExample</Name>
<TopicName>testTopic</TopicName>
</DurableSubscription>
</User>
</StateManager>
when
initially it was:
<?xml
version="1.0"
encoding="UTF-8"?>
<StateManager>
<User>
<Name>guest</Name>
<Password>guest</Password>
</User>
<User>
<Name>john</Name>
<Password>needle</Password>
<Id>DurableSubscriberExample</Id>
</User>
</StateManager>
<StateManager>
<User>
<Name>guest</Name>
<Password>guest</Password>
</User>
<User>
<Name>john</Name>
<Password>needle</Password>
<Id>DurableSubscriberExample</Id>
</User>
</StateManager>
And when you
remove again the this part:
<DurableSubscription>
<Name>DurableSubscriberExample</Name>
<TopicName>testTopic</TopicName>
</DurableSubscription>
the
Persistence manager doesn't crash anymore.
Here is the
stack trace for the PersistenceManager:
[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.<init>(Main.java:210)
at org.jboss.Main$1.run(Main.java:116)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.Main.main(Main.java:112)
[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.<init>(Main.java:210)
[Configuration] at org.jboss.Main$1.run(Main.java:116)
[Configuration] at java.security.AccessController.doPrivileged(Native Method)
[Configuration] at org.jboss.Main.main(Main.java:112)
[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.<init>(Main.java:210)
at org.jboss.Main$1.run(Main.java:116)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.Main.main(Main.java:112)
[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.<init>(Main.java:210)
[Configuration] at org.jboss.Main$1.run(Main.java:116)
[Configuration] at java.security.AccessController.doPrivileged(Native Method)
[Configuration] at org.jboss.Main.main(Main.java:112)
Thanks and
keep good work.
Nicolas
Fournier.
