weblogic 10r3 サーバーで Web アプリのホストをデバッグしようとしています。アプリケーションは、com.ibm.mq.jms.MQQueue
Java メッセージ駆動型 Bean を介して外部 IBM JMS キュー (クラス名: ) から入力を受信しています。
そのキューに接続してテスト メッセージを送信する小さなテスト アプリを作成しました。問題は、今のところテスト メッセージが例外を生成し、どういうわけかキューに戻され、何度もループしていることです。これにより、ログを読み取れないようにする多くの例外が生成されます。
最初に、テスト アプリでコンシューマーを作成して有害メッセージを削除しようとしましたが、コードは無期限にブロックされconsumer.receive()
ます。
次にJMSexpiration
、デフォルトの 0 の代わりに何らかの数値を設定しようとしましたが、最終的にメッセージは有効期限として 0 を使用しました。
すべてのアイデアを歓迎します。どうもありがとうございました
JMS PRODUCER の概要を示すコード:
static String rawTradeUpload = "some long chunk of data"
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,
weblogic.jndi.WLInitialContextFactory.class.getName());
//ht.put(Context.PROVIDER_URL, "t3://gprimeap1d.eur.nsroot.net:12016");
ht.put(Context.PROVIDER_URL, "t3://gprimeap1d.eur.nsroot.net:12001");
ht.put(Context.SECURITY_PRINCIPAL, "weblogic");
ht.put(Context.SECURITY_CREDENTIALS, "welcome5");
Connection con = null;
Session s = null;
try {
if(ctx == null)
ctx = new InitialContext(ht);
ConnectionFactory myConnFactory = null;
Queue myQueue = null;
myConnFactory = (ConnectionFactory) ctx
.lookup("SwiftConnectionFactory");
con = myConnFactory.createConnection();
s = con.createSession(false, Session.AUTO_ACKNOWLEDGE);
myQueue = (Queue) ctx
.lookup("IncomingSwiftFxQueue");
MessageProducer producer = s.createProducer(myQueue);
Message msg = s.createTextMessage(rawTradeUpload);
producer.send(msg);
s.close();
con.close();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}