[
http://jira.jboss.com/jira/browse/JBAS-4328?page=all ]
Adrian Brock closed JBAS-4328.
------------------------------
Fix Version/s: (was: JBossAS-4.2.0.GA)
Resolution: Rejected
The expiration handling on the client side was removed a while ago
http://jira.jboss.com/jira/browse/JBAS-2204
It is now done on the server.
The linked EJB3 test is just stupid, it shows a message that is ~90ms over expiration.
This is not an expired message according to JMS.
While the MDB is handling the message the jms server is probably saying
"this message looks like it has expired, no hang on a minute
I've already given it to a client so it didn't expire".
JMS is NOT a real time system.
Write a real test where you don't even deploy the MDB until 10 or 20 seconds
after the message is due to expire. Otherwise your test is always going to fail
randomly due to the race condition between the delivery thread processing the message
and the expiration thread checking the expiry of the message.
Message expiration doesn't work with a message listener on a
session
--------------------------------------------------------------------
Key: JBAS-4328
URL:
http://jira.jboss.com/jira/browse/JBAS-4328
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JMS service
Affects Versions: JBossAS-4.2.0.CR1
Environment: JBoss MQ
Reporter: Carlo de Wolf
Assigned To: Adrian Brock
The JCA uses session.setMessageListener which creates a SpyMessageConsumer with
sessionConsumer = true.
Messages are received and added to the SpyMessageConsumer (addMessage).
If it's a sessionConsumer do special logic (excluding expiration) else
put it on queue and receive() does expiration logic.
--
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