如何暂停/恢复RabbitMQ监听器

时间:2016-05-28 07:35:21

标签: java spring rabbitmq

我已将下面的监听器写入Rabbit标头队列queue

@Override
public void onMessage(final Message message)
{
    try {
        if (reindexEventListener.serviceFlag){
            System.err.println("Reindex started, Listener is stopped:\t");
            throw listenerExecutionFailedException("Reindex started, Log Event Listener is stopped");
        }
        else{
            String messageQ = new String(message.getBody(),"UTF-8");
            LOGGER.debug("Message from the Services:\t"+messageQ.toString());
            System.err.println("Message from the Services:\t"+messageQ.toString());
        }
    } 
    catch(Exception e)
    {
        LOGGER.error("Exception occur while  publishing the message", e);
    }
}

实际上,只要另一个队列reindexEventListener.serviceFlag收到一些消息并绑定到监听器,例如:queue1,就会设置标志flagListener。 我能够使用queue的消息,并根据queue1设置的状态消息。但问题是queue侦听器使用消息,并且这些消息不再出现在队列中。我希望queue保留所有邮件,直到queue1将状态设置为false为止?在此先感谢。!!

1 个答案:

答案 0 :(得分:0)

春天你可以停下来开始听。