问题标签 [sonicmq]

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 投票
3 回答
4515 浏览

java - 将消息发送到完整的 JMS 队列

我正在编写一个将消息发送到 JMS 队列的 Java 代码。我通过使用“QueueSender.send()”来做到这一点。

JMS 队列本身是 sonicMQ 但这不是重点。

我的问题是,有时 JMS 队列已满,尝试向队列发送消息的线程被饿死。

有没有办法让我在发送消息之前知道队列是否已满?在这种情况下,我宁愿在日志中打印一个异常。

顺便说一句,JMS 队列代码本身超出了我的范围。我只能更改客户端代码。

谢谢你。

0 投票
1 回答
1518 浏览

jms - 如何在 SonicMQ 环境中列出可用的目的地/主题

我正在尝试编写一个测试实用程序来列出我连接到的 SonicMQ 环境中的各种项目。我已经能够列出许多项目,包括代理、容器和队列,但主题仍然让我难以理解。我已经搜索了 API 文档并在代码中进行了一些操作,但无济于事。

有没有办法在 SonicMQ 中列出主题?是否有更通用的方法列出所有目的地(队列和主题)?JMS 中是否有我错过了获取此信息的内容?

0 投票
2 回答
1174 浏览

java - jboss 和 sonic mq 打得不好

这就是我一天以来一直在反对的事情。
我有一个旧版本的 jboss (jboss4),我在其中启动了一些代码来连接到我作为客户端运行的 sonic mq (我认为是 7.6) 的实现。我正在运行 java 1.6.0_23。话虽如此,我看到了我似乎无法弄清楚的非常奇怪的行为。

当我的进程开始时,我加载了与 sonic mq 服务器建立连接所需的所有 jndi 道具,然后我像这样调用

但是,我当时没有看到我的线鲨上没有交通,这让我感到困惑。最终这会超时给我例外

真正的问题是我从同一台服务器上的独立 jar(而不是从 jboss 中)运行我的进程并且连接正常?

0 投票
0 回答
751 浏览

glassfish - Glassfish - 使用 OpenMQ 连接到 SonicMQ 不起作用

我有一个运行版本 3.1.2 的 glassfish 实例。我需要通过 JMS 连接到远程服务器。远程系统 - 我认为 - 使用 SonicMQ。

我有一个 JAR 示例(来自远程服务器公司),我可以毫无问题地与远程服务器通信。

我想我的 glassfish 配置正确,但无法连接到远程服务器。连接/使用 glassfishs ping 功能时,我总是遇到同样的错误:

端口 12506 是正确的,因为没有 PortMapper。AddressList参数是mqtcp://remote.server.com:12506代替mq://remote.server.com:12506

谷歌了半天的解决方案,但没有找到任何东西。有人建议吗?我究竟做错了什么?

0 投票
1 回答
362 浏览

sonicmq - 是否可以将消息发送到一个 Sonic 代理上的主题并将其复制到另一个 Sonic 代理上的队列?

我正在使用 SonicMQ(7.6 版)。我在生产和代码中设置了一个主题,将消息发布到该主题。我想将这些消息复制到另一个站点的 Sonic 代理中运行的队列。
是否可以将 SonicMQ 配置为跨代理和站点执行此主题到队列的复制?

0 投票
1 回答
640 浏览

jms - 如何将消息从 JMeter 传递到 Sonic ESB?

我正在尝试使用 JMeter 的点对点功能来测试 Sonic ESB。

我在 Sonic ESB 中开发了一项服务(一个非常简单的服务,只有一个原型步骤)。我想将来自 JMeter 的消息传递给我在 Sonic ESB 中开发的服务并得到回复。

我有一个名为 Sample.Q1 的输入队列。

我对如何链接 JMeter 和 Sonic ESB 感到非常困惑。

我按照以下链接创建 jmeter 点对点。http://jmeter.apache.org/usermanual/build-jms-point-to-point-test-plan.html

请告诉我如何提供身份验证详细信息(即用户名和密码)。

0 投票
1 回答
1404 浏览

java - 如何从 JMS 读取和收集响应消息,并使它们可用于正确的 servlet 线程?

我们有一个用于异步 JMS 消息系统的同步 HTTP 请求-响应前端。

每个 HTTPRequest 的 HTTP 查询 servlet 在查询队列中创建相应的 JMS 消息。此查询由后端处理,并为此查询创建几个响应消息。在 JMS 中组织响应消息的接收并确保它们到达正确的 servlet 线程以便它可以制定 HTTPResponse 的好方法是什么?

查询和响应是非事务性的,不需要持久化。其中大多数是读取查询。如果在 45 秒内没有读取响应,则 servlet 生成超时响应。然而,吞吐量很重要。我们需要处理越来越多的查询。该系统已经使用了大约十年,并且必须再运行两年左右。

我们正在使用 SonicMQ。我们为所有响应创建了一个队列。servlet 容器与代理有一个连接,它用于读取和写入。我们为每个登录用户生成一个侦听器线程(大约 1500 个并发)。这个线程有一个带有消息选择器的接收器,它只为这个特定用户选择响应消息。一旦 servlet 线程发送了它的查询消息,它就会等待用户的侦听器线程通知它它已读取响应。

我们曾经让所有发送者和所有接收者共享一个 QueueSession。这实际上有效(!)虽然会话正式不是线程安全的。每个线程创建一个 QueueSession(servlet 线程和侦听器线程)在一定程度上提高了性能,但事情仍然不太稳定,我们希望更好地组织事情。

我尝试为每个用户会话创建一个临时队列,而不是一个带有消息选择器的队列,但这大大减慢了速度。

什么是更好/正确的组织方式?

0 投票
3 回答
704 浏览

java - 如果与 SonicMQ 的连接被拒绝,则重新连接到 SonicMQ

我无法连接到 SonicMQ 可能是因为生产者/消费者不可用。在这种情况下,SonicMQ 支持在一段时间后重新连接。

0 投票
1 回答
1003 浏览

jms - 有没有办法查看 SonicMQ 队列订阅者是什么?

由于我是 SonicMQ 的新手,我想知道是否有办法确定 SonicMQ 队列订阅者是什么。我的意思是使用控制台、日志文件(通过将日志级别提高到 Verbose)等。我可以使用HermesJMS客户端连接到 SonicMQ 服务器并访问有问题的队列,但我似乎无法确定队列是什么消费者是。队列总是空的,因为消息一到达就被传递。

有任何想法吗?谢谢

0 投票
1 回答
505 浏览

delphi - 在 Delphi 中接收 OpenMQ 消息

我需要在 Glassfish 服务器和 Delphi 之间进行通信。我需要接收它的消息。我发现 Glassfish 使用 OpenMQ 代理。

首先,我找到了 delphi 的 jms 库。我发现那里只有 JMS 接口。并发现那里有 SonicMQ JMS 实施。但正如我发现的那样,SonicMQ 和 OpenMQ - JMS 的不同代理。也许我错了。

我还找到了适用于 OpenMQ 的 Habari 客户端库,但这些库不是免费的。

也许有人知道这个问题的任何免费解决方案?或者我弄错了,我可以使用 SonicMQ 实现?

我已经下载了 Habari 演示程序,但无法连接到 glassfish 服务器(连接已完全关闭)。也许我做错了什么?我只需要收到消息。我不需要发送它们。

我以前从未使用过 JMS,这就是为什么我有这样的问题。