0

JMS に問題があります。問題は、アプリケーションがあり、 JMS を介してメッセージを送信しようとしていますが、JMS サーバーの再起動後、サーバーがダウンしたときのように例外がスローされることです。再接続していません。

JMS サーバーを再起動しなくてもまったく問題なく、weblogic 10.x を使用しています。

JMS 構成に関する問題ですか?

ありがとう

4

1 に答える 1

-1

メッセージの送信方法についてコードを投稿できますか?

JMS サーバーがダウンしているときにメッセージを送信しようとすると、おそらく例外が発生し、それに対処する必要があります。次にメッセージを送信しようとするとき、JMS サーバーが再始動して実行されているときに、接続ファクトリーから新しい接続を作成する可能性があります。次に再接続が発生します。

// Let's say, you inject CF and Dest.
@Resource(lookup = "jms/ConnectionFactory")
private static ConnectionFactory cf;

@Resource(lookup = "jms/MyQueue")
private static Destination dest;

public void sendMessage(){ // called every time you need to send a message.
   try{
     Connection con = cf.createConnection(); // will reconnect, otherwise pooled.
     Session sess = con.createSession(false,Session.AUTO_ACKNOWLEDGE);
     MessageProducer prod = sess.createProducer(dest);
     Message msg = sess.createTextMessage("Hello, World");
     prod.send(msg);
     sess.close();
     con.close();
   }catch(Exception e){
     // handle errors 
   }
}

ただし、Weblogic JMS には組み込みのフェイルオーバー/再接続機能がいくつかあります。次のページをご覧ください。

JMS プロデューサの再接続に関する Oracle コードのリストとドキュメント

于 2012-07-09T07:55:16.313 に答える