ActiveMQ的 - 连接后故障了createSession超时恢复(ActiveMQ - Cre

2019-09-20 16:33发布

我使用的ActiveMQ 5.6.0和ActiveMQ的网管客户端。

我连接到使用如下代码经纪人:

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();

    ...
}

我总是得到故障超时异常时尝试创建一个会话。

我究竟做错了什么?

谢谢

Answer 1:

这个问题出现了,因为我已经在续调用中所作的线程创建的会话。

正确的代码:

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

            ...
        });
}


文章来源: ActiveMQ - CreateSession failover timeout after a connection is resumed
标签: c# activemq