ActiveMQ - 恢复连接后的CreateSession故障转移超时

时间:2012-08-02 10:37:20

标签: c# activemq

我正在使用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();

    ...
}

尝试创建会话时,我总是遇到故障转移超时异常。

我做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

出现此问题是因为我在线程中创建了一个会话 恢复通话是在。

正确的代码是:

private void OnConnectionResumed()
{
    Task.Factory.StartNew(() =>
        {
            var session = connection.CreateSession();

            ...
        });
}