IBM.XMS 2.0.0.5とMQ Client 7.0.1.5を使用しており、接続を作成し、例外リスナーを設定し、接続を開始し、メッセージ・リスナーを使用してメッセージの受信を開始しました。ネットワーク接続を無効にしたときにExceptionListener
が起動しないことを除いて、これは正常に動作します。代わりに、私は未処理のソケット例外が発生します。IBM.XMS ExceptionListenerが起動しない
私は戻ってIBMのサイト上で与えられた例に行って、エラーを再現しています
私はネットワークconnetionを無効にした場合、私は未処理のソケット例外を取得してのExceptionListenerが発射されません。
using System;
using System.Threading;
using IBM.XMS;
public class Sample
{
public static void Main()
{
XMSFactoryFactory factoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
IConnectionFactory connectionFactory = factoryFactory.CreateConnectionFactory();
connectionFactory.SetStringProperty(XMSC.WMQ_HOST_NAME, "**********");
connectionFactory.SetStringProperty(XMSC.WMQ_CHANNEL, "*****");
connectionFactory.SetIntProperty(XMSC.WMQ_PORT, 1414);
connectionFactory.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
connectionFactory.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "*********");
//
// Create the connection and register an exception listener
//
IConnection connection = connectionFactory.CreateConnection();
connection.ExceptionListener = new ExceptionListener(OnException);
ISession session = connection.CreateSession(false, AcknowledgeMode.AutoAcknowledge);
IDestination queue = session.CreateQueue("queue://***********");
//
// Create the consumer and register an async message listener
//
IMessageConsumer consumer = session.CreateConsumer(queue);
consumer.MessageListener = new MessageListener(OnMessage);
connection.Start();
while (true)
{
Console.WriteLine("Waiting for messages....");
Thread.Sleep(1000);
}
}
static void OnMessage(IMessage msg)
{
Console.WriteLine(msg);
}
static void OnException(Exception ex)
{
Console.WriteLine(ex);
}
}
設定をもう少し詳しく説明できますか?リモートまたはローカルのキュー・マネージャーに接続していますか? – gregwhitaker
リモート・キュー・マネージャーに接続しています。私はこれをWindows XPで開発しています。MQクライアント7.0.1.5とMessage Service Client for .NET 2.0.0.5を使用しています。 –