3

ActiveMQ用の.Netクライアントがあります。Apache.NMS1.5.1.2739とApache.NMS.ActiveMQ1.5.6.2746を使用しています

次のコードを使用してブローカーに接続します。

var connectionFactory = new ConnectionFactory("failover:tcp://127.0.0.1:61616/?transport.timeout=5000");
IConnection connection = connectionFactory.CreateConnection();
connection.Start();

問題は、使用可能なActiveMQブローカーがない場合、connection.Start()が永久にハングすることです。したがって、transport.timeoutはここでは役に立ちません。Start()メソッドのタイムアウトが必要です。したがって、この期間が経過すると例外が発生し、実行がさらに進む可能性があります。そのような問題を回避する方法は?

4

1 に答える 1

5

適切な uri パラメータを見つけました。URI全体は次のようになります

フェールオーバー:(tcp://127.0.0.1:61616/)?transport.startupMaxReconnectAttempts=2

ただし、例外が発生した場合、ActiveMQ クライアントはそれ以上再接続を試みないため、自分で再接続する必要があることに注意してください。

于 2012-08-28T11:14:17.433 に答える