问题标签 [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 回答
309 浏览

activemq - 为什么 ActiveMQ 消费者恢复到拉模式而不是预取

我最近升级到 NMS ActiveMQ 1.5.2,当我重新启动代理时,连接和消费者得到恢复,但他们恢复到“拉”模式,这意味着代理不会自动向他们发送消息。这不是以前版本的行为方式。我需要的是让它恢复到原来的状态,即预取 1000。我想我一定是缺少故障转移 URL 或类似的设置。

这里有人知道我可以尝试什么吗?

我的堆栈是:

这是我在重新启动代理时看到的消费者日志条目:

0 投票
1 回答
1009 浏览

c# - .NET 中的 activeMQ nms - 如何检查临时队列是否已被删除?

我已经将 ActiveMQ NMS 与我的 asp mvc 网站集成在一起,它在大多数情况下都运行良好,但是我最近的问题遇到了障碍,我一生都无法弄清楚这是否是我的问题缺少、缺乏 API 支持,甚至是设计缺陷(可能在 API 中)......

我正在尝试做一件简单的事情 - 在尝试向其发送消息之前,我需要检查是否已删除临时队列。一旦客户端断开连接、关闭浏览器等,临时队列就会被删除,这很好,因为这就是我使用临时队列的原因。但是,我将目的地存储在服务器上,因此我可以在它们仍然连接时将某些消息发送到某些目的地。在客户端离开/关闭浏览器之前一切正常,这意味着 ActiveMQ 将删除临时队列,我需要停止向该临时队列发送消息,直到它们重新连接,因为如果我尝试我会得到这个异常:

javax.jms.JMSException :目标 temp-queue://ID:WIN-HP6U1SD1FB4-29628-1329687650640-0:1:85 不存在。

这完全有道理,因为临时队列已经消失了,因为他们离开了页面或关闭了浏览器。但这是让我丧命的问题——在这个异常(我捕捉到)之后,整个消息传递系统都崩溃了!在我重新启动它之前,activemq 不再发送消息。这似乎非常疯狂,除非我在使用它时遗漏了一些非常基本的东西。基本上我想不通的是:

1)为什么activeMQ在尝试向不存在的临时队列dest发送消息时会关闭?为什么它不能抛出异常并继续?

2) 很好,我可以使用#1,但是如何在发送之前检查临时目标队列是否存在?API 中似乎没有任何内容支持这一点。

3)如果#2由于某种疯狂的原因是不可能的,我如何从这个导致整个消息队列系统崩溃的jms异常中恢复?

我会发布代码,但不确定这会有所帮助。

0 投票
1 回答
4020 浏览

c# - Apache NMS - 如何确定连接是否正常

我在一些 Apache NMS 问题上遇到了麻烦。部分原因可能是我自己对平台缺乏了解。

本质上,我有一个 NMS STOMP 客户端,用于通过 STOMP 发送和接收 AMQ 消息。API 看起来有点像这样:

我试图让我的集成测试始终如一地通过,但是当我增加 AMQ 停机的时间时它们总是失败(在 10 秒时通过,在 60 秒时失败)。经过大量的调试和跟踪后,我发现问题似乎源于我的IsConnected实现(或者,至少,这是问题的一部分):

我通过反复试验得出了这个实施方案。我根本找不到一种简单的方法来确定连接是否“正常”。没有我可以找到的财产​​,IConnection或者Session可以告诉我这一点。

我知道ConnectionInterruptedListenerConnectionResumedListenerExceptionListener事件,但在我的集成测试期间唯一提出的事件是ExceptionListener. 此外,我知道在使用我正在生产的故障转移时它们根本没有被提出。

谁能帮助我可靠地确定连接是否正常?或者也许澄清我可能有的任何误解?

0 投票
1 回答
122 浏览

activemq - 我应该在几个小时后强制 AMQ NMS 重新连接吗?

我们使用 AMQ 5.4.2 Broker 和 NMS.ActiveMQ 1.5.0 和 C#。效果很好,就像我最习惯的 Java 堆栈一样。但是,大约 12 小时后,从消息发送到队列到完全可用且空闲的消费者收到消息之间存在一致的延迟。有时长达 30 秒过去。修复方法是重新启动代理或消费者应用程序。因此,就响应性而言,似乎随着时间的推移,这种联系会以某种方式受到侵蚀。它目前是一个负载非常轻的系统,但这一切都将改变:)

所以我的问题是 .. 对于 NMS,我应该保持连接“连接”多长时间,我应该强制重新连接 .. 每 4 小时说一次。我意识到这不应该是必需的,但如果其他人认为有必要,我愿意这样做。

0 投票
2 回答
185 浏览

multithreading - 如何设置 Apache.NMS 线程名称

当我升级到 Apache.NMS.ActiveMQ 1.5.3 时,线程名称现在都相同,因此无法分离出活动。

有谁知道如何改变这个?Thread.CurrentThread.Name 设置后就无法更改。

0 投票
1 回答
1581 浏览

monitoring - DDoS 监控和警报

我想针对 DDoS 监控我的网络,发现有人发出 DDoS 监控警报的屏幕截图。有没有人看到截图后告诉我这是什么软件。

在此处输入图像描述

0 投票
1 回答
717 浏览

c# - 如何使用 activeMQ NMS 和 C# 实现同步请求响应应用程序?

我可以使用生产者将消息发送到队列('test.queue')(我也可以在另一端收到相同的消息)但是我无法使用消费者.receive()从回复目的地('确认')接收回复消息方法。没有错误。但消费者没有收到任何消息。请让我摆脱它。代码如下: -

0 投票
1 回答
2988 浏览

c# - ActiveMQ - 反序列化 ActiveMQBytesMessage 消息

在我的工作中,我使用部分使用 c++ 和 C# 开发的应用程序。C++ 代码负责管理activeMQ(发送、接收消息)。

我开发了一个应用程序,通过订阅我的 C# 应用程序来监视主题中发送的消息。

因此,当向主题发送消息时,我的应用程序设法处理消息,但消息在 ActiveMQBytesMessage 中序列化。

我怎样才能反序列化这个对象?

我刚刚注意到 ActiveMQBytesMessage 从命名空间 Apache.NMS 继承了 IBytesMessage,但我没有看到任何可以帮助我反序列化消息的东西。

我使用最新版本的 ActiveMQ 和 NMS

[NB] 我的 C# 应用程序的目标是简单地监控 ActiveMQ 通道内发生的事情。这就是为什么我需要反序列化 ActiveMQBytesMessage 以便我可以在网格视图中显示对象的名称及其内容。

[添加更多信息]

这是我试图反序列化的内容。

反序列化时出现此错误:

输入流不是有效的二进制格式。起始内容(以字节为单位)为:00-00-00-00-00-00-4F-8C-00-00-00-09-00-00-00-00-54 ...

0 投票
1 回答
4747 浏览

activemq - ActiveMQ NMS:当代理关闭时,connection.start() 与故障转移协议一起挂起

我有使用 nms.activemq 1.5.0 的 C# 应用程序。

当我的应用程序启动时,它会尝试使用故障转移协议连接到代理(我在主从配置中有两个代理)。
如果两个代理都关闭,我的应用程序由于connection.start().
我尝试了我在网上找到的所有信息——我尝试了故障转移协议的每个属性,还尝试了设置连接超时,尝试了transport.requesttimeout

我还尝试了更新版本的 nms.activemq,但似乎没有解决问题。

关于什么可能导致此问题或任何解决方法的任何想法?

0 投票
1 回答
2173 浏览

.net - .NET 中的 ActiveMQ 连接启动超时

我有 ActiveMQ 的 .Net 客户端。我正在使用 Apache.NMS 1.5.1.2739 和 Apache.NMS.ActiveMQ 1.5.6.2746

我使用以下代码连接到代理:

问题是当没有可用的 ActiveMQ 代理时 connection.Start() 永远挂起。所以 transport.timeout 在这里没有帮助。我想让 Start() 方法超时。因此,在这段时间之后发生异常并且执行可能会进一步进行。如何避免这样的问题?