提问人:NAGALAXMI SOMAYAJI 提问时间:10/17/2023 最后编辑:Justin BertramNAGALAXMI SOMAYAJI 更新时间:11/16/2023 访问量:207
错误:NewInstance 在使用 ActiveMQ 时找不到 id = tcp 的匹配项
Error: NewInstance failed to find a match for id = tcp while using ActiveMQ
问:
我正在使用 Apache.NMS.ActiveMQ v5.18.2 在 C# 中运行 ActiveMQ 示例发布者代码,但我得到:
Apache.NMS.NMSConnectionException: 'Error creating transport.' Exception: NewInstance failed to find a match for id = tcp
这是我的代码:
String host = env("ACTIVEMQ_HOST", "localhost");
int port = Int32.Parse(env("ACTIVEMQ_PORT", "61616"));
String brokerUri = "activemq:tcp://" + host + ":" + port;
NMSConnectionFactory factory = new NMSConnectionFactory(brokerUri);
IConnection connection = factory.CreateConnection(user, password); // error occurs here
从最新版本 2.1.0 开始,我尝试使用不同版本(降级)的 ActiveMQ nuget 包,但没有任何效果。
答:
0赞
Sequiterr
11/10/2023
#1
解决方案:使用 Apache.NMS 和 Apache.NMS.ActiveMQ 版本 2.0.0
我今天遇到了同样的问题。事实证明,NuGet 包的 2.1.0 版仅发布了大约 2 个月 (https://www.nuget.org/packages/Apache.NMS/2.0.0)。
ActiveMQ的 版本 5.17.3 和 5.18.3
C# 包:(不起作用) Apache.NMS 版本=“2.1.0” Apache.NMS.ActiveMQ 版本=“2.1.0”
C# 包:(确实有效) Apache.NMS 版本=“2.0.0” Apache.NMS.ActiveMQ 版本=“2.0.0”
评论