问题标签 [openmq]

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 回答
879 浏览

glassfish - 收到后JMS过期不起作用

标题可能令人困惑,但这是我想要完成的。我想从 1 个 ejb 向另一个 ejb 发送 jms 消息,第 2 个 ejb 有一个消息侦听器,现在可以正常工作。但我希望第一个 ejb 创建一个临时目标队列,第二个 ejb 将在其中响应 - 这也可以正常工作。

我的问题出在第二个 ejb 中,它正在调用第 3 方 Web 服务,该服务有时会在很长一段时间后响应,并且临时队列应该在那个时候到期。但问题是它不符合java.net:http://java.net/projects/mq/lists/users/archive/2011-07/message/22

所以,收到了,但还没有回复。然后在它写入临时队列的时候它应该已经过期但由于某种原因我仍然能够写入队列并且我的 imq 日志中有 ff:

是否有另一种实现可以检测临时队列是否已过期?以便我可以执行另一组操作?因为我现在的问题是 ejb2 响应较晚,并且 ejb1 没有更多的 jms 阅读器,因为它已经消失了。

0 投票
1 回答
1149 浏览

web-services - Glassfish - JMS 请求/响应 - 消息不在队列中

我正在尝试使用包含的 OpenMQ JMS 队列在 Glassfish 3.1.2 中实现 Web 服务,该队列使用临时排队响应来实现同步 JMS 请求响应。它发送一条消息,该消息由远程客户端作业(在容器外运行)从主队列中提取,并在临时队列上接收响应。

在基本的 Java POC 中,这是可行的。但是一旦我将服务器端代码放入容器中,它就不起作用了。

我关闭了工作,以便消息只会进入队列而不被拾取,然后我使用 QBrowser 跟随队列。

如果我只是从生产者那里发送消息,它就会进入队列并且可以被作业读取。

但是,一旦我添加了代码来接收()响应,队列上的消息就无法读取。QBrowser 说队列中有 1 条消息,但它被标记为 UnAck 并且队列显示为空(例如消息不可读)。

connectionFactory 和 requestQueue 作为 glassfish 的 @Resource 注入。主队列在 glassfish 中定义。

Web服务内部:

我尝试了各种方法,包括单独的连接和会话以及异步消费者,并为生产者尝试了一个 Transacted 会话,但在尝试提交时只得到了堆栈跟踪。

为了让这个正确进入队列,我错过了什么?

提前致谢!

编辑: ConnectionFactory 和队列的 Domain.xml 参考:

0 投票
2 回答
2074 浏览

jakarta-ee - GlassFish中可以使用哪些工具来监控jms broker

我使用 Open MQ GUI 管理控制台(在 Glassfish 安装目录中)和QBrowser。是否需要考虑其他工具?

0 投票
0 回答
141 浏览

jms - 如何将 OpenMQ 与 Jboss-4.2.3.GA 集成?

我正在尝试将 OpenMq 与 Jboss-4.2.3.GA 集成,以进行面向消息传递的中间件的性能评估研究。我想使用 imqjmsra.ra 作为默认资源适配器。我需要一步一步的帮助来整合这两者。我想让 OpenMq 成为我的 jboss 服务器的默认 JMS 提供程序。文档和确切的链接或正确的步骤将不胜感激。请帮忙。

0 投票
1 回答
1806 浏览

java - 如何为 OpenMQ 编写一个简约的 Java 客户端

请帮助 MQ nubee 编写他的第一个 Java 客户端,我在 Oracle 文档中有点迷失了。我已经启动并运行了 OpenMQ。在 OpenMQ 管理控制台中,我建立了一个名为“MyFirstTest”的代理,6 个服务中有 1 个是“jms”(这似乎是最容易使用的服务),该服务也已启动并正在运行(例如:服务状态正在运行)。所以我来到了有趣的部分。我如何连接到代理“MyFirstTest”,然后发送一条消息,最后但至少从第二个客户端读取这条消息。

我想我必须找到已经存在的队列而不是使用新的 com.sun.messaging.Queue

任何示例或链接表示赞赏。

}

0 投票
0 回答
422 浏览

glassfish - 如何创建内部网桥以将队列转发到主题

我正在尝试设置从队列到主题的内部桥接,但出现“查找失败”异常。

以下是更多细节:

环境:GlassFish 3.1.2.2(全新安装)和嵌入式 JMS 主机

  1. 创建队列连接池(javax.jms.QueueConnectionFactory):pool1(jndi和池名)
  2. 创建主题连接池(javax.jms.TopicConnectionFactory):pool2(jndi和池名)
  3. 创建队列:queue1(jndi 和队列名称)
  4. 创建主题:queue1(jndi 和队列名称)

domain.xml 配置如下:

和 bridge.xml 文件:

例外:

文档非常好,但我无法解决这个问题......

0 投票
2 回答
8326 浏览

java - 如何将 ActiveMQ 生产者连接到 OpenMQ JMS 代理

我正在尝试将文本消息从一个摆动的重型客户端(使用 Apache ActiveMQ 库)发送到一个 glassfish 服务器实例,该实例似乎使用 OpenMQ 作为默认的 JMS 提供程序。

在我用于客户的非常源代码基本代码下方:

  • 我在 Glassfish 服务器的管理控制台 (JMS_PROVIDER_PORT) 的系统属性中找到了代理端口
  • 部署 MessageDrivenBean 时已创建队列连接工厂和队列
  • 现在客户端和 glassfish 实例在同一台计算机上运行,​​但我想让它们在两台不同的机器上工作(这就是我不使用 vm:// 作为传输协议的原因)

我得到了这些例外:

  • 我考虑了将 Glassfish 实例的 JMS 提供程序更改为 ActiveMQ 的解决方案,但如果可能的话,我想保留 OpenMQ

PS:我是 JMS 和 Java EE 框架的初学者

0 投票
1 回答
541 浏览

glassfish - 以编程方式读取 DMQ

如何以编程方式从“mq.sys.dmq”读取消息。我使用 Glassfish 3.1.2.2

当我尝试:

我收到:

javax.naming.NamingException:查找“mq.sys.dmq”失败

0 投票
1 回答
543 浏览

mule - 将 Mule ESB 连接到 OpenMQ 代理

我正在尝试将 Mule ESB 连接到现有的 OpenMQ 代理。从用于 openmq 集成的 mulesoft 文档构建,我有以下流程;

但是,我在运行时遇到错误;

我感觉这个例子中遗漏了几个元素。有人可以告诉我缺少什么吗?

0 投票
0 回答
508 浏览

glassfish - Glassfish 3.1.2 中 JMS 队列的奇怪行为

我的应用程序使用 Glassfish 3.1.2 服务器和 OpenMQ 作为 JMS 提供者中的 JMS 消息。

当消费者无法处理消息时,就会发生奇怪的行为。在这种情况下,Glassfish 正确地将消息移动到死消息队列(经过 2 次尝试)。这很好。

当我重新启动服务器时,存储在 DMQ 中的消息会再次发送到原始目的地(没关系,尽管我没想到会出现这种行为)。现在,如果消费者成功,消息仍保留在目标中

这是不正确的,因为在服务器再次重新启动后,消息再次被消费。奇怪的是,这一次消息被永久地从队列中删除。

问题是:

  • 为什么消息仍在队列中?
  • 为什么 GF 在重新启动后尝试将消息从 DMQ 自动移动到原始消息中?