Weblogic に分散キューがあります。メッセージは、JMS onMessage() 関数を使用してキューから読み取られます。ただし、デプロイメントが実行されている限り、メッセージはキューからパージされません。メッセージ状態文字列は常に「受信」です。展開が再開された場合に、メッセージが再度取得されないようにするにはどうすればよいですか?
@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);
}
}