【问题标题】:How to maintain ActiveMQ connection open?如何保持 ActiveMQ 连接打开?
【发布时间】:2016-01-05 03:42:31
【问题描述】:

我正在使用 Apache ActiveMQ 将我的应用程序集成到自定义服务中。我需要一直运行,而不是像现在这样运行一次。 下面的代码有效,但仅适用于一条消息,我需要保持连接处于活动状态才能接收所有消息。

using (var connection = (Apache.NMS.ActiveMQ.Connection)factory.CreateConnection())
{
   connection.UserName = Username;
   connection.Password = Password;

   using (var session = connection.CreateSession())
   {
        IDestination destination = SessionUtil.GetDestination(session, "queue://" + Queue);

        using (IMessageConsumer consumer = session.CreateConsumer(destination))
        //using (IMessageConsumer consumer = session.CreateDurableConsumer(new ActiveMQTopic(Queue), "fpapp", null, false))
        {
            consumer.Listener += ConsumerOnListener;
            connection.Start();
        }
    }
}

我做了一些研究,发现我应该创造一个耐用的消费者,这就是我尝试过的(评论线)。但是它不起作用,它说网络连接无法订阅主题。

有什么想法吗?

PS:我对 ActiveMQ 完全陌生。

谢谢

【问题讨论】:

    标签: c# activemq nms


    【解决方案1】:

    请将连接对象从 using 块中取出。会的。 在 C# API 中,正常连接是持久的,在 STOMP 中必须设置心跳。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    相关资源
    最近更新 更多