onMessage在weblogic中从receive和purge更改消息状态

时间:2014-10-15 10:45:42

标签: queue jms weblogic purge

我在Weblogic上有一个分布式队列。使用JMS onMessage()函数从队列中读取消息。但是,只要部署正在运行,就不会从队列中清除消息。消息状态字符串始终为' receive'。如果重新启动部署,我们如何确保不再获取消息?

  @Override
public void onMessage(Message msg) {
    try {
        String msgText;
        if (msg instanceof TextMessage) {
            msgText = ((TextMessage) msg).getText();
        } else {
            msgText = msg.toString();
        }

       System.out.println("Message Received from Message_RESPONSE_QUEUE: " + msgText + " - " + count++);

        // now send the message to queue2
        InitialContext ic2 = getInitialContext2();
        getMsgFromQueue qs = new getMsgFromQueue();
        qs.init2(ic2, QUEUE2);
        qs.send(msg, null);

    } catch (JMSException jmse) {
    } catch (NamingException ex) {
        Logger.getLogger(getMsgFromQueue.class.getName()).log(Level.SEVERE, null, ex);
    }
}

1 个答案:

答案 0 :(得分:0)