c# - Apache.NMS.NMSConnectionException:“连接到 activemqhost 时出错:61616。”
问题描述
我在 .NET Framework 4.7.2 中有安装Apache.NMS
和Apache.NMS.ActiveMQ
打包的控制台项目。我从官方文档中复制并粘贴示例代码,当我运行它时,它会遇到错误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&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
解决方案
使用此连接字符串后解决Uri connecturi = new Uri("tcp://localhost:61616");
推荐阅读
- r - 创建没有一个数字的随机矩阵
- javascript - JS document.write() 将脚本写入 iframe 的头部
- c# - 快速检查一个非常大的数组中是否存在数字(C#)
- boolean - 如何简化 (~A * B) + C * (~B + A)
- c# - .Net AWS DynamoDB 更新项目
- php - PHP - 无法匹配变量中的字符串
- r - 使用 ggplot 在地图上绘制条形图
- mapreduce - 电影推荐的 MapReduce Jaccard 相似度计算
- docker - 如何找到用于启动容器的 docker-compose.yml?
- google-apps-script - 如何让光标移动到 Google 表格行?