[jboss-jira] [JBoss JIRA] Commented: (JBAS-4328) Message expiration doesn't work with a message listener on a session

Adrian Brock (JIRA) jira-events at lists.jboss.org
Fri Apr 13 05:36:58 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBAS-4328?page=comments#action_12359201 ] 
            
Adrian Brock commented on JBAS-4328:
------------------------------------

And if you want more real time behaviour it is trivial to write an interceptor that does:

if (isExpired(message))
{
   log.warn("I'm not processing this messasge because it expired between being received from the jms server and delivery to the mdb instance");
   ejbContext.setRollbackOnly(); // NACK The message
   return;
}

Once the message is NACKed backed to the control of the jms server, it is eligible again for expiry processing.

> 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

        



More information about the jboss-jira mailing list