我正在使用ActiveMQ 5.6.0和ActiveMQ NMS客户端。
我使用以下代码连接到代理:
var connectionFactory = new ConnectionFactory(
"failover:(tcp://localhost:61616)?transport.timeout=5000"
);
connection = connectionFactory.CreateConnection();
connection.Start();
connection.ConnectionResumedListener += OnConnectionResumed;
然后,我停止经纪人并重新启动。之后,在方法OnConnectionResumed中
private void OnConnectionResumed()
{
var session = connection.CreateSession();
...
}
尝试创建会话时,总是会遇到故障转移超时异常。
我究竟做错了什么?
谢谢
最佳答案
出现此问题是因为我在线程中创建了一个会话,其中
继续通话。
正确的代码是:
private void OnConnectionResumed()
{
Task.Factory.StartNew(() =>
{
var session = connection.CreateSession();
...
});
}
关于c# - ActiveMQ-恢复连接后,CreateSession故障转移超时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11775741/