This doesn't work correctly in 4.x at the moment. Please could you raise a
jira issue for it

cheers,

Rob


manav wrote:
> 
> We recently migrated our application from ActiveMQ3.2.1 to ActiveMQ 4.1.0.
> 
> We were using a listener for Expired messages (after timetolive) when we
> used ActiveMQ 3.2.1 using DeadLetterPolicy class.
> 
> When we switched to ActiveMQ 4.1, we noticed that the DeadLetterPolicy
> class has been changed in 4.1 and thus started to look around on how to
> listen to expired messages.
> 
> All we want to do after listening to the messages is to log a message in
> out application logs and make an audit entry (application specific). 
> 
> In ActiveMQ 3.2.1, we used the below code that uses the
> org.activemq.deadletter.Destination concept to receive the expired
> messages. This code worked like a charm in 3.2.1. Now we would like to
> achieve the same functionality with AMQ4.1. Could someone please help us
> out with equivalent code for 4.1?
> 
> //Code used with ActiveMQ3.2.1 for listening to expired messages..
> import org.activemq.service.DeadLetterPolicy;
> 
> String dlqName = "org.activemq.deadletter.InquiryDestination";
> Queue dlqDestination = session.createQueue(dlqName);
> 
> consumer = session.createReceiver(dlqDestination);
> consumer.setMessageListener(new InquiryMessageListner());
>                       
> DeadLetterPolicy dlq = new DeadLetterPolicy();
> connection = connectionFactory.createQueueConnection();
> session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
> Queue destination = session.createQueue("InquiryDestination");
> String dlqName =
> dlq.getDeadLetterNameFromDestination((ActiveMQDestination)destination);
> Queue dlqDestination = session.createQueue(dlqName);
> 
> 
> 
> class InquiryMessageListner implements MessageListener {  
>       private static AuditHelper auditImpl = new AuditHelper();
>       public void onMessage(Message message) {
>               TextMessage txtMsg = (TextMessage) message;
>               try {
>                       MIBLogger.messageDead(txtMsg.getJMSCorrelationID(),
> MIBConstants.DLQREASON_REQQ);
>                       auditImpl.logSuccessEvent(AuditHelper.EVT_MSGDEAD,
> txtMsg.getJMSCorrelationID(), MIBConstants.DLQREASON,
> MIBConstants.DLQREASON_REQQ);
>               } catch (Exception ex) {
>                       ex.printStackTrace();
>               }
>       }
> }
> 
> Thanks a lot in advance..
> 
> Manav.
> 

-- 
View this message in context: 
http://www.nabble.com/Expired-Message-Listener-tf3270915s2354.html#a9123822
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to