Apache.NMS.NMSConnectionException:'连接到activemqhost:61616时出错

问题描述

我在.NET Framework 4.7.2中具有控制台项目,该项目安装了Apache.NMSApache.NMS.ActiveMQ软件包。我从official documentation复制并粘贴示例代码,然后在运行它时遇到错误Apache.NMS.NMSConnectionException: 'Error connecting to activemqhost:61616.' SocketException

这是我的代码

class Program
{
    public static void Main(string[] args)
    {
        // Example connection strings:
        //    activemq:tcp://activemqhost:61616
        //    stomp:tcp://activemqhost:61613
        //    ems:tcp://tibcohost:7222
        //    msmq://localhost

        Uri connecturi = new Uri("activemq:tcp://activemqhost:61616");

        Console.WriteLine("About to connect to " + connecturi);

        // NOTE: ensure the nmsprovider-activemq.config file exists in the executable folder.
        IConnectionFactory factory = new NMSConnectionFactory(connecturi);

        using (IConnection connection = factory.CreateConnection())
        {

        }
    }
}

下面是我的activemq.xml

   <transportConnectors>
        <!-- DOS protection,limit concurrent connections to 1000 and frame size to 100MB -->
        <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    </transportConnectors>

解决方法

使用此连接字符串Uri connecturi = new Uri("tcp://localhost:61616");

后已解决