Reputation: 23289
I have .Net client for ActiveMQ. I'm using Apache.NMS 1.5.1.2739 and Apache.NMS.ActiveMQ 1.5.6.2746
I connect to the broker using the follow code:
var connectionFactory = new ConnectionFactory("failover:tcp://127.0.0.1:61616/?transport.timeout=5000");
IConnection connection = connectionFactory.CreateConnection();
connection.Start();
The problem is when there is no ActiveMQ broker available then connection.Start() hangs forever. So transport.timeout doesn't help here. I want to have timeout for Start() method. So after this period of time exception occurs and execution may proceed further. How to avoid such an issue?
Upvotes: 3
Views: 2848
Reputation: 23289
I've found right uri parameters. The entire uri should look like this one
failover:(tcp://127.0.0.1:61616/)?transport.startupMaxReconnectAttempts=2
But be aware if exception occurs then ActiveMQ client will not try to reconnect any more and you need to do it yourself.
Upvotes: 5