问题标签 [hornetq]

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 投票
2 回答
2716 浏览

jms - 两个 HornetQ 服务器之间的 HornetQ JMS 桥无法交付

(在 11.11.11 编辑,在底部编辑)

我有两台运行 HornetQ(版本 2.2.5 AS7)服务器的 JBoss AS 6.1 服务器。让我们称另一个 CLIENT 和另一个 MASTER。

CLIENT 有一个队列(“sourceQueue”),由我们的 Web 应用程序写入。

在 CLIENT 和 MASTER 服务器之间建立了一个 JMS 桥,它使用来自 CLIENT 上的 sourceQueue 的消息,并应该在 MASTER 上的 targetQueue 上生成它们。网桥在 CLIENT JBoss 上运行。

问题:不是从源消费并在目标上产生消息,表面上似乎什么都没有发生:源有 1 条消息,目标没有。也有可能源源不断地收到该消息。

使用 netty 连接器的网络连接正在工作,这已经过测试,重新启动网桥并观察 netstat -n -c 输出。

什么样的问题会导致这种问题?

  • 网络问题?
  • 交易经理?
  • 连接器错误?

您将如何诊断 HornetQ 桥接器的问题?

下面是 hornetq-jboss-beans.xml 上的桥接定义(在 CLIENT /jboss/server/default/deploy/hornetq 上)。定义是HornetQ 手册中 JMS 桥接示例的近似变体:

CLIENT 端 hornetq-jms.xml 上的队列定义:

在 MASTER 端 hornetq-jms.xml:

编辑: 由于某种原因,如果我停止并在两台服务器完全部署后重新启动网桥,网桥就会开始传输消息。这是一个手动过程,我讨厌使用 hack 定期重启网桥。我欢迎对此问题提出任何建议。

我还通过使桥依赖于它读取的队列来改进启动顺序 - 否则桥会在队列之前启动,从而导致错误记录。

0 投票
1 回答
2280 浏览

message-queue - HornetQ 核心 API 和 JMS

我对 HornetQ 有几个问题:

  1. HornetQ 核心 API 和 JMS API 有什么区别?

  2. 使用其中之一有什么优点或缺点吗?

  3. 如果我使用核心 API 然后我决定更改我的消息传递总线(比如说 ActiveMQ)然后我必须更改我的所有代码,这是真的吗?

0 投票
1 回答
786 浏览

sql-server - 使用 MS SQL 服务器的 HornetQ 持久性

HornetQ 默认使用文件系统和它自己的日志来进行持久性,是否可以更改此默认行为以使用 MS SQL 服务器代替持久性?

谢谢

0 投票
1 回答
862 浏览

jms - 使用 HornetQ 的 JMS Connection/ConnectionFactory 引用

我正在开发一个较旧的应用程序并将其 JMS 系统从 JBoss Messaging 升级到 HornetQ,在此过程中我遇到了一些似乎与该应用程序如何使用和管理 JMS 连接有关的问题。这是我第一次大规模接触 JMS(除了简单的玩具使用),所以我想知道当前的成语是……正确、愚蠢还是完全错误?

这是当前系统的工作方式。

其要点是,对于发送的每条消息都反复使用连接,直到发生错误,当发生错误时,连接最终会关闭并重新创建。

我见过的每个示例总是为每条消息创建一个新的连接工厂和一个新的连接,但是这些示例不是大型系统示例,它们是“操作方法”示例中的一个。

保持对 JMS 连接的单个托管引用是可接受的习惯用法,是否应该缓存连接工厂?是否应该为每条新消息重新创建它们?

重用连接工厂但每次都使用新连接对我来说有意义吗?

0 投票
1 回答
554 浏览

jms - HornetQ:将主题连接到队列

我有一个用例将主题连接到许多队列。我们的系统中有一些事件,我们希望允许不同的用户订阅。我们将“事件”视为“主题”,将用户订阅视为“队列”。每个用户都有一个个人队列,这取决于他们的订阅;我们会将其路由到他们的队列。你能分享一些关于如何设置的指示吗?

0 投票
2 回答
387 浏览

java - HornetQ java getMessagesAsJSON 功能

我想在 Java 中拥有与 jmx-console 中的 listMessagesAsJSON 相同的工具。我怎么能那样做?

谢谢你。

0 投票
1 回答
800 浏览

hornetq - Hornetq - 将 1 个队列连接到多个地址?

我使用 HornetQ 作为嵌入式服务器。我能够创建多个队列并将它们绑定到一个地址。这很好用,我可以将消息发送到单个地址并让多个队列使用它。我有另一个业务需要有多个地址将消息发送到单个队列。如果您将队列视为“订阅”系统中发生的多件事的用户,则该用例将是。这意味着不同的事件将发布到不同的地址,如果他订阅了这些消息,这些消息将进入用户的个人队列。这可能吗?
我能想到的唯一方法就是设置转移。想知道有没有更好的方法。转移工作是因为我将多个地址上的消息转移到每个用户的单个唯一地址,该地址映射到队列。顺便提一句; 我正在使用核心 API

0 投票
0 回答
232 浏览

hornetq - HornetQ:Divert + Transformer 类用法

我期待在 HornetQ 上使用转移功能将给定地址上的消息转移到许多其他地址。我想做的是在消息被转移后添加一些额外的属性。似乎我可以使用变压器类来做到这一点。我唯一的问题是我想根据消息出现的转移添加自定义属性。我不确定如何获取该信息。

示例:address.order -> 将其转移到 address.electronicorder、address.bookorder、address.clothorder。

现在一旦它被转移;我想在变压器中的消息上添加一个属性(如“ORDER TYPE”)..但我不确定如何获得消息出现的转移..

有小费吗?

0 投票
3 回答
2777 浏览

jboss - 暂停 MDB 消息处理

我们可以暂停 MDB 消息处理一段时间吗?例如:Jboss 1 部署的 MDB 用于消息处理。Jboss 2:-Bean 用于收集用户详细信息。如果 jboss 1 中的 MDB 调用 jboss 2 中的 bean 来获取用户详细信息。如果是这种情况,当我们重新启动 Jboss 2 时,我们需要暂停 jboss 1 中的 MDB,直到 jboss 2 UP。是否有任何选项可以暂停 MDB,以避免消息失败?

0 投票
2 回答
729 浏览

jboss - HornetQ 默认包含在 jboss-esb-server 中还是我需要显式安装它?

我正在尝试在我的 JBoss ESB 项目中使用 HornetQ JMS 提供程序代替旧版 JMS 提供程序,但它不起作用。

我成功浏览并运行了来自http://www.mastertheboss.com/jboss-esb/78-jboss-esb.html的 JBoss-ESB 教程中的示例代码- 但是,在本教程中,使用了 JBM JMS 提供程序. 我需要改用 HornetQ JMS 提供程序。

我不知道如何让 HornetQ 作为我的 JMS 提供者。HornetQ 默认在 jbossesb-server-4.10 中可用还是我需要显式安装它?