问题标签 [activemq]

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 投票
4 回答
6233 浏览

java - 始终确保 ActiveMQ 主题中只有最后 10 条消息

我们在 ActiveMQ 中有一个问题,我们有大量的消息没有丢弃主题。主题设置为非持久性、非持久性。我们的 Activemq.xml 文件是

我们在messaging-config.xml 中的主题定义是

我想要实现的是,任何时候只有最后 10 条消息是关于主题的,因为让它在一夜之间运行会导致超过 150K 条关于该主题的消息,即使它应该只包含非常小的数量。

0 投票
1 回答
1431 浏览

c# - C# (openwire) & python (stomp) 客户端是否支持 ActiveMQ 的故障转移机制?

我想使用 ActiveMQ 将 python 服务与 C# 客户端连接起来。有没有办法在 C# (openwire) 和 python (Stomp) 中指定故障转移连接?

ActiveMQ 将被配置为共享文件系统主从。

0 投票
1 回答
7261 浏览

activemq - 带有 ActiveMQ 集群的 Apache Camel

我正在尝试确定集群 ServiceMix 3.3.1/Camel 2.1/AMQ 5.3 应用程序的选项。我正在执行大量消息处理,我需要集群以实现高可用性和水平可扩展性。

这基本上是我的应用程序所做的...HTTP->QUEUE->PROCESS->DATABASE->TOPIC

from("码头: http: //0.0.0.0/inbound ") .to("activemq:inboundQueue");

from("activemq:inboundQueue?maxConcurrentConsumers=50") .process(decode()) .process(transform()) .process(validate()) .process(saveToDatabase()) .to("activemq:topic:ouboundTopic" );

所以,我已经阅读了所有的 ServiceMix 和 AcitveMQ 集群页面,但仍然不确定该走哪条路。

我知道我可以为 HA 使用主/从设置,但这对可扩展性没有帮助。

我已经阅读了有关经纪人网络的信息,但不确定这如何适用。例如,如果我在集群中的多个节点上部署相同的 Camel 路由,它们将如何准确地“交互”?如果我将 HTTP 生产者指向一个节点(NodeA),哪些消息将被发送到 NodeB?队列/主题是否会在节点 A/B 之间共享...如果是这样,消息是拆分还是重复?此外,外部客户端如何准确订阅我的“outboundTopic”(并获取所有消息等)?

或者,我一直在想我应该在多个 ServiceMix 实例之间共享一个代理。这样会更清晰,因为只有一组队列/主题要管理,我可以通过添加更多实例来扩展。但是,现在我仅限于单个代理的可扩展性,我又回到了单点故障......

如果有人可以为我澄清权衡...我将不胜感激。

0 投票
2 回答
1469 浏览

java - 具有 ActiveMQ 代理网络的 JMS 使用者

我在代理集群的 ActiveMQ 网络上有一个 JMS 主题(又名分布式主题)。我有一个外部 JMS 消费者(Weblogic 门户)需要订阅该主题并获取发送给它的所有消息(跨所有代理)。

如果消费者在其中一个代理上订阅主题,它只会获得代理接收到的消息子集,对吗?

我想我可以为每个代理创建一个消费者并将消息聚合在一起,但是我也需要处理连接问题并需要知道哪些代理可用等。

问题,有没有办法配置代理或消费者网络以从分布式 JMS 主题获取所有消息?

0 投票
3 回答
1221 浏览

c++ - 可以使用 ActiveMQ CPP Api 与 RabbitMQ Broker 对话吗?

我们有需要通过 RabbitMQ 代理发送消息的 C++ 软件,有人尝试过 ActiveMQ CPP lib (CMS) 向 RabbitMQ 代理发送/接收消息吗?

0 投票
2 回答
5999 浏览

apache-camel - 使用 Camel 的分布式 ActiveMQ

我正在学习 ActiveMQ 和 Camel,目标是创建一个像这样工作的小原型系统:

替代文字
(来源:paulstovell.com

(大的)

在 Orders 系统中下订单时,会向任何订阅者(发布/订阅系统)发送一条消息,他们可以在处理订单中发挥作用。OrdersShippingInvoicing应用程序都有自己的 ActiveMQ 安装,因此如果三个系统中的任何一个系统脱机,其他系统都可以继续运行。有些东西负责在 ActiveMQ 安装之间移动消息。

如果它们在同一个 ActiveMQ 实例上,让 Apache Camel 通过路由将消息从一个队列移动到另一个队列非常容易。所以这适用于管理订阅队列。

下一个挑战是将消息从一个 ActiveMQ 实例推送到另一个实例,这就是我不确定接下来要看什么的地方。

  1. Camel 可以在不同的 ActiveMQ 安装之间路由吗?(如果它们在不同的机器上,我无法弄清楚 JMI 端点 URI 会是什么)。
  2. 我了解 ActiveMQ 具有存储和转发功能。这是我用来在订单和运输/发票之间移动消息的方法吗?
  3. 或者这就是Apache ServiceMix想要解决的问题?
0 投票
1 回答
3188 浏览

java - Tomcat 理解 amq:broker 但 Eclipse 在模式中标记错误

在 Eclipse 中使用 ActiveMQ 时,您有时可能会遇到这样的模式解析错误:

但是,该项目在 Tomcat 中成功部署。

0 投票
3 回答
837 浏览

jakarta-ee - 如何让我的 MDB 忽略来自自身的消息?

我有几个客户端,它们既是 ActiveMQ 消息代理上单个主题的消费者又是订阅者。所有客户端共享相同的代码,它们实际上使用完全相同的企业应用程序,包括:(1) 生成消息的 EJB,以及 (2) 使用消息的 MDB。

问题基本上是如果我有客户端A,B和C,并且如果A发出消息,那么A,B,C都会收到消息。我不希望 A 收到自己的消息。

所以我尝试了各种解决方案,我想出的最好的一个是在传出消息上设置一个字符串属性,例如source=myVeryOwnID。然后在 MDB 中,我设置了一个消息选择器,例如source <> 'myVeryOwnID'

不幸的是,这是一个糟糕的解决方案,因为我必须在源代码中设置这个 ID(在我的例子中,在注释中)。这意味着在部署新客户端时,我不能简单地将 .EAR 文件提供给某人,而是必须使用唯一的“源”属性专门重新编译。

理想情况下,我想使用 MAC 地址作为 ID,或者可能是 Glassfish 中设置的 ID(我使用的是 GFv3)。

任何解决方案或想法将不胜感激!

0 投票
3 回答
13114 浏览

java - 一个人怎么能不在本地使用activemq?

我不明白如何不在本地使用 ActiveMQ。
假设我有 2 台机器,它们需要交换一些消息。
在机器上我启动 ActiveMQ 代理:

并使用类似的东西:

在 jndi.properties 我有:

但是我应该在另一台机器上创建什么来订阅这个主题?我应该在第二台机器上创建第二个本地 ActiveMQ 代理,以及如何订阅第一台机器上的远程主题???

0 投票
1 回答
5939 浏览

java - ActiveMQ JMS ping

Apache Activemq 5.2.0

我的应用程序监听三个主题的消息并发送两个主题的消息。当我的应用程序“webping”时,我想检查这些主题是否存在。我想知道这是否可能。以下是我的观察,

  1. 建议消息可用于此目的,但它们仅在生产者/消费者加入时发送消息。这不是我想要的。我只想检查我是否可以向出站主题发送消息并可以接收有关入站主题的消息。
  2. 自定义心跳解决方案。我可以让每个生产者每 5 秒发送一条心跳消息,让侦听器不处理心跳消息而是更新标志/时间戳。这样我就知道主题已经启动并正在运行。
  3. Apache ActiveMQ 中是否有一种内置的心跳?还是“针对某个主题的 ping”?

我知道 JMS 不是用于监控,但如果我是某个主题的制作人,那么很高兴知道我是否可以以合理的舒适度制作该主题。我也同意 ping 和消息之间的通道可以关闭,这对我来说是可以接受的失败。

我只想要一个健康检查系统/页面,它可以说“是的主题在那里并且 activemq 正在运行”