Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ActiveMQ connection start timeout in .NET

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?

like image 713
Pashec Avatar asked Jan 30 '26 15:01

Pashec


1 Answers

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.

like image 76
Pashec Avatar answered Feb 01 '26 04:02

Pashec



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!