我正在使用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();
...
}
尝试创建会话时,我总是遇到故障转移超时异常。
我做错了什么?
由于
答案 0 :(得分:1)
出现此问题是因为我在线程中创建了一个会话 恢复通话是在。
正确的代码是:
private void OnConnectionResumed()
{
Task.Factory.StartNew(() =>
{
var session = connection.CreateSession();
...
});
}