[
http://jira.jboss.com/jira/browse/JBAS-4328?page=all ]
Adrian Brock closed JBAS-4328.
------------------------------
Resolution: Rejected
I don't care. The issue is whether it was expired when the server got the receive()
request not when the mdb processes the message.
org.jboss.mq.server.BasicQueue::receive()
[code]
synchronized (messages)
{
// find a non-expired message
while (messages.size() != 0)
{
messageRef = (MessageReference) messages.first();
messages.remove(messageRef);
if (messageRef.isExpired())
{
expireMessageAsync(messageRef);
messageRef = null;
}
else
break;
}
[/code]
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