[jboss-jira] [JBoss JIRA] Closed: (EJBTHREE-570) DLQ fails when JMSMessage has properties with null values.
William DeCoste (JIRA)
jira-events at jboss.com
Thu Jul 27 14:33:11 EDT 2006
[ http://jira.jboss.com/jira/browse/EJBTHREE-570?page=all ]
William DeCoste closed EJBTHREE-570.
------------------------------------
Resolution: Done
> DLQ fails when JMSMessage has properties with null values.
> ----------------------------------------------------------
>
> Key: EJBTHREE-570
> URL: http://jira.jboss.com/jira/browse/EJBTHREE-570
> Project: EJB 3.0
> Issue Type: Bug
> Reporter: Jury Sysoyev
> Assigned To: William DeCoste
> Priority: Trivial
> Fix For: EJB 3.0 RC9 - FD
>
>
> If an EJB3 MDB not correctly processed some JMSMessage, jboss server try to put message in DLQ queue. If this message has properties with null values, an error appears and fails in infinite loop.
> It because you use java.util.Hashtable to save jms properties temporary. This class not supports null values. You may use java.util.HashMap to fix this problem. Or you may replace nulls by empty (??) values.
> Server log for jboss4.0.4rc1 (one iteration from infinite loop)
> 2006-05-12 17:46:48,552 WARN [org.jboss.ejb3.mdb.DLQHandler] Message resent too many times; sending it to DLQ; message id=ID:3-11473485279351
> 2006-05-12 17:46:48,552 ERROR [org.jboss.jms.asf.StdServerSession] session failed to run; setting rollback only
> java.lang.NullPointerException
> at java.util.Hashtable.put(Hashtable.java:396)
> at org.jboss.ejb3.mdb.DLQHandler.makeWritable(DLQHandler.java:357)
> at org.jboss.ejb3.mdb.DLQHandler.sendMessage(DLQHandler.java:269)
> at org.jboss.ejb3.mdb.DLQHandler.handleRedeliveredMessage(DLQHandler.java:228)
> at org.jboss.ejb3.mdb.MDB$MessageListenerImpl.onMessage(MDB.java:1171)
> at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:266)
> at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:902)
> at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
> at org.jboss.mq.SpySession.run(SpySession.java:323)
> at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)
> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
> at java.lang.Thread.run(Thread.java:595)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list