[
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