2

JMS メッセージがキューに送信されていない場合、エラー メッセージをログに記録する必要があります。

メッセージが送信されていないかどうかを確認するにはどうすればよいですか?

コード:

...
...   
QueueSender send = session.createSender(queue);
TextMessage tm = session.createTextMessage(message);

send.send(tm);
log.debug("Sent text=" + tm.getText());
...
...

前もって感謝します

4

3 に答える 3

1

DeliveryMode.PERSISTENTを使用して、それが永続化および配信されることを確認し、send()が失敗した場合に発生するJMSExceptionをキャッチしますか?

于 2012-05-21T10:59:37.190 に答える
1

send 呼び出しから例外をキャッチするだけで十分です。配信モードを PERSISTENT に設定する必要はありません。このオプションを使用すると、メッセージを非永続的にしたい場合でも、すべてのメッセージが永続的になるからです。

try
{
  qsender.Send(msg);
}
catch(JMSException je)
{
}
于 2012-05-23T08:32:16.480 に答える