问题标签 [apache-nms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
185 浏览

c#-4.0 - 如何从我的消息中获取 JMS 标头 JMSMessageID?

我想使用 apache nms 从我的消息中减去 JMSMessageID 标头。使用 message.Properties[] 我只能访问我的消息属性,如何获取 JMSMessageID?

我尝试了下面的代码但没有成功。

ITextMessage 消息 = (ITextMessage)consumer.Receive(TimeSpan.FromMilliseconds(10000)); 字符串 JMSMessageID = message.Properties["JMSMessageID"].ToString();

0 投票
3 回答
4058 浏览

c# - .Net core 2.0 是否支持 Apache NMS Active MQ 包?

警告 NU1701 包“Apache.NMS 1.7.1”是使用“.NETFramework,Version=v4.6.1”而不是项目目标框架“.NETCoreApp,Version=v2.0”恢复的。此软件包可能与您的项目不完全兼容。

0 投票
1 回答
734 浏览

c# - 使用 C# 和 Apache NMS 的 ActiveMQ - 计算队列的消费者

我正在尝试使用 C# 为 ActiveMQ 编写一个监控解决方案。作为其中的一部分,我需要监视队列中未决消息的数量以及该队列的活动消费者数量。你能帮我如何获得一个队列的消费者数量吗?我可以使用这个答案来计算没有待处理的消息

0 投票
1 回答
571 浏览

c# - Apache NMS 获取待处理消息计数

我正在尝试使用 c# 获取 activeMQ 队列上的当前消息数。

我发现这个链接(现在已经很老了) ActiveMQ with C# and Apache NMS - Count messages in queue but enumeration the queue 对于这个简单的任务来说似乎需要做很多工作。

这是获取队列消息计数的唯一方法吗?如果我确实使用此方法,在我枚举时队列是否被锁定(我不想阻止其他读者)?

谢谢,尼克

0 投票
2 回答
715 浏览

c# - MQ 错误原因:在 C# .NET 客户端正常工作多天后随机开始出现 2058

客户端详细信息:作为生产者将消息推送到 IBM MQ 队列和主题的代码会出现问题。生产者使用 WebApi2 公开为 REST 接口,并部署在 IIS 上。我们正在使用 C# .NET (4.5.2) 客户端连接到 IBM MQ。我们使用 CCDT 文件 AMQCLCHL.TAB 进行连接以获取客户端连接详细信息。使用的底层库是 Apache NMS (1.8.0.4573) 和 IBM XMS (2.5.0.3)。

收到异常: CWSMQ0006E:在调用 ConnectionFactory.CreateConnection 方法期间收到异常:CompCode:2,原因:2058。

错误详细信息:客户端正常工作,我们能够将数十万条消息推送到 MQ 队列和主题。但是,在从几个小时到超过 1 周的随机时间段后,客户端开始失败并出现上述错误。更多细节:

  • 通过重新启动 IIS 池或重新加载应用程序来解决该错误
  • 当第一个客户端(IIS 服务器 1)继续出现问题时,从另一个客户端(IIS 服务器 2)连接到同一 MQ 服务器继续工作

AMKERR01.LOG 文件中出现错误。

错误代码 6 是ERROR_INVALID_HANDLE

0 投票
1 回答
487 浏览

c# - 使用 ActiveMQ 的 Apache NMS:我如何使用事务确认模式但每次仍然确认/回滚单个消息?

我使用 Apache NMS(在 c# 中)从 ActiveMQ 接收消息。我希望能够确认收到的每条消息,或者在出现错误时回滚消息。

我通过使用 CreateSession(AcknowledgementMode.IndividualAcknowledge) 解决了第一部分,然后对于每个收到的消息我使用 message.Acknowledge()。

问题是在这种模式下没有回滚选项。如果消息未得到确认 - 我将永远无法再次收到它以进行另一次试用。它只能发送给另一个消费者,但没有另一个消费者,所以它只是卡在队列中。

所以我尝试使用 AcknowledgementMode.Transactional 来代替,但是这里还有一个问题:我只能使用 session.Commit() 或 session.Rollback(),但是无法知道我提交了哪个特定消息或角色返回。

这样做的正确方法是什么?

0 投票
2 回答
461 浏览

c# - consumer.receive MessageSelector 的问题

我在activemq中有问题。我想从我的 activemq 队列中收到一条特殊消息。我有超过 300 条消息,我想要其中一条消息。我用多选组合框解决了这个问题。在这个框中,我有我需要的所有属性的所有消息。

当我点击 247 项目时,我想选择接收消息的项目,在他们之后我想发送消息,但首先我遇到了接收问题。

我不知道为什么它不起作用。也许有人有想法?

ProducerID的是正确的。但为什么这不起作用?它停在这条线上

我不知道了

0 投票
1 回答
70 浏览

.net - 带有 .NET Core 2.2 的 AmazonMQ 的 SocketException

SocketException只是尝试使用 NMS ActiveMQ .net nuget 包创建与 AmazonMQ 的连接。这是我尝试连接的方式:

我的经纪人“公共可访问性”设置为“是”。我还打开了入站安全组,因此它应该能够接收来自我的 IP 的连接。任何关于我可能遗漏的内容将不胜感激。

0 投票
1 回答
1569 浏览

.net - 使用 Apache.NMS.AMQP 从 .NET 连接到 AmazonMQ (ActiveMQ) 代理

我无法使用 Apache.NMS.AMQP 客户端 ( GitHub repo ) 连接到我的 AmazonMQ 代理。

我已经启动并运行了 AmazonMQ 代理,并且可以连接到代理控制台。在我的 .NET 项目中,我安装了 Apache.NMQ.AMQP NuGet (v1.8.0),它应该用于通过 AMQP 连接到 ActiveMQ 代理。

根据 Amazon MQ 的 AWS 控制台,这是代理 AMQP 端点,请注意amqp+ssl架构:

此代码段用于连接代理:

当使用上面指定的代码片段和代理 URL 时,调用connection.Start()方法时出现以下异常:Apache.NMS.NMSException: Failed to create Provider instance for amqp+ssl

经过一些研究,我意识到应该为amqp+ssl传输连接器配置代理,我根据AMQP的ActiveMQ 文档尝试过。所以我尝试将以下 XML 添加到代理配置:

尝试保存编辑后的配置时,AWS 向我显示以下消息:

我想,这意味着只允许在配置中指定“openwire”传输连接器。

我尝试的下一个解决方案是将代理 URL 更改为使用amqp模式,所以我得到了以下信息:

代替

connection.Start()在使用以下消息调用时,这也给了我一个异常:

有什么方法可以使用 AMQP 协议和 .NET 连接到 Amazon 托管的 ActiveMQ 代理,如果我在这里缺少什么?

0 投票
1 回答
41 浏览

nms - .Net 中的 AMQ - 证书或凭据

是否应该同时使用信任库/密钥库和证书来通过 SSL 连接访问 AMQ 代理?如果是,如何实现这一目标?我发现为 NMS 做这件事的文章和博客非常少。我是新手。