Bugs item #804485, was opened at 2003-09-11 14:50
Message generated for change (Comment added) made by ejort
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=804485&group_id=22866

Category: JBossMQ
Group: v3.2
>Status: Closed
>Resolution: Works For Me
Priority: 5
Submitted By: Udo Schwedt (schwedt)
>Assigned to: Adrian Brock (ejort)
Summary: JMS message lost on restart

Initial Comment:
Hello all,



the following problem occurs on both JBoss 3.2.1 and

3.2.2RC3. I'm running Sun VM 1.4.1_03-b02 on Win2K Pro.



With a MDB which listens on a queue using the file

based PM, when the server is stopped and started again

while JMS are left to consume, exactly one message is lost.



To reproduce, set up a simple client and MDB. The

client connects to the queue and sends some 50

persistent messages (with an increasing number) to the

queue. The MDB's onMessage() method does nothing but to

trace the received message and sleep for 10 seconds.

When the server is stopped (Ctrl-C) before all messages

were consumed, all messages not consumed yet can be

found in the persistence directory for the queue,

except the message immediately following the latest

consumed message (Dead letter queue is empty).



If the server is restarted, the remaining persisted

messages are processed, but one message is lost.



Also see files in attached ZIP archive: 

- server trace for server 1 (before restart)

- server trace for server 2 (after restart)

- source for the client

- source and XML files MDB

- relevant server configuration files



In the example files, message no. 16 is lost.



BTW: the exception in the server 1 trace:



16:24:59,232 ERROR [JMSContainerInvoker] Exception in

JMSCI message listener

java.lang.NullPointerException

        at

org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:728)

        at

org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1020)

        at

org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:241)

        at

org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:636)

        at

org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:442)

        at org.jboss.mq.SpySession.run(SpySession.java:294)

        at

org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:177)

        at

EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)

        at java.lang.Thread.run(Thread.java:536)



occurs on shutdown and looks just like the exception

mentioned in bug no. 781687 - I thought the bug was

already fixed (or didnt the fix make in in 3.2.2RC3)?







----------------------------------------------------------------------

>Comment By: Adrian Brock (ejort)
Date: 2003-09-15 09:48

Message:
Logged In: YES 
user_id=9459

First, you are not allowed to throw EJBException from onMessage

you should use messageDrivenContext.setRollbackOnly()



You aren't using transactional delivery (onMessage is not marked

as Required), this falls into an implementation specific part

of the spec. 

JBossMQ chooses to redeliver messages after a RuntimeException

from onMessage ZERO times.



I don't see the NullPointer problem with JBoss3.2.2RC4, 

I do see it processing message number 16 before shuting down.

10:26:07,478 INFO  [MessageDrivenContainer] Destroying

10:26:07,489 INFO  [JMSContainerInvoker] Destroying

10:26:09,778 INFO  [AbstractDeploymentScanner$ScannerThread]

Shutdown

10:26:14,164 INFO  [TestMDB] OOOOOOOOOOOOOOOOOOOOO Received

message no. 16. OOOOOOOOOOOOOOOOOOOOO

10:26:24,171 INFO  [DLQHandler] Destroying

10:26:24,172 INFO  [DLQHandler] Destroyed

10:26:24,172 INFO  [JMSContainerInvoker] Destroyed

10:26:24,173 INFO  [MessageDrivenInstancePool] Destroying



I have changed the shutdown process to not destroy the DLQ

handler

until it has shutdown the session pool, but I don't think

that is

relevent to the problem. It was an obvious problem when

I reviewed the server log.



Regards,

Adrian

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=804485&group_id=22866


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to