问题标签 [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.
java - 将消息发送到完整的 JMS 队列
我正在编写一个将消息发送到 JMS 队列的 Java 代码。我通过使用“QueueSender.send()”来做到这一点。
JMS 队列本身是 sonicMQ 但这不是重点。
我的问题是,有时 JMS 队列已满,尝试向队列发送消息的线程被饿死。
有没有办法让我在发送消息之前知道队列是否已满?在这种情况下,我宁愿在日志中打印一个异常。
顺便说一句,JMS 队列代码本身超出了我的范围。我只能更改客户端代码。
谢谢你。
jms - 如何在 SonicMQ 环境中列出可用的目的地/主题
我正在尝试编写一个测试实用程序来列出我连接到的 SonicMQ 环境中的各种项目。我已经能够列出许多项目,包括代理、容器和队列,但主题仍然让我难以理解。我已经搜索了 API 文档并在代码中进行了一些操作,但无济于事。
有没有办法在 SonicMQ 中列出主题?是否有更通用的方法列出所有目的地(队列和主题)?JMS 中是否有我错过了获取此信息的内容?
java - jboss 和 sonic mq 打得不好
这就是我一天以来一直在反对的事情。
我有一个旧版本的 jboss (jboss4),我在其中启动了一些代码来连接到我作为客户端运行的 sonic mq (我认为是 7.6) 的实现。我正在运行 java 1.6.0_23。话虽如此,我看到了我似乎无法弄清楚的非常奇怪的行为。
当我的进程开始时,我加载了与 sonic mq 服务器建立连接所需的所有 jndi 道具,然后我像这样调用
但是,我当时没有看到我的线鲨上没有交通,这让我感到困惑。最终这会超时给我例外
真正的问题是我从同一台服务器上的独立 jar(而不是从 jboss 中)运行我的进程并且连接正常?
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
谷歌了半天的解决方案,但没有找到任何东西。有人建议吗?我究竟做错了什么?
sonicmq - 是否可以将消息发送到一个 Sonic 代理上的主题并将其复制到另一个 Sonic 代理上的队列?
我正在使用 SonicMQ(7.6 版)。我在生产和代码中设置了一个主题,将消息发布到该主题。我想将这些消息复制到另一个站点的 Sonic 代理中运行的队列。
是否可以将 SonicMQ 配置为跨代理和站点执行此主题到队列的复制?
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
请告诉我如何提供身份验证详细信息(即用户名和密码)。
java - 如何从 JMS 读取和收集响应消息,并使它们可用于正确的 servlet 线程?
我们有一个用于异步 JMS 消息系统的同步 HTTP 请求-响应前端。
每个 HTTPRequest 的 HTTP 查询 servlet 在查询队列中创建相应的 JMS 消息。此查询由后端处理,并为此查询创建几个响应消息。在 JMS 中组织响应消息的接收并确保它们到达正确的 servlet 线程以便它可以制定 HTTPResponse 的好方法是什么?
查询和响应是非事务性的,不需要持久化。其中大多数是读取查询。如果在 45 秒内没有读取响应,则 servlet 生成超时响应。然而,吞吐量很重要。我们需要处理越来越多的查询。该系统已经使用了大约十年,并且必须再运行两年左右。
我们正在使用 SonicMQ。我们为所有响应创建了一个队列。servlet 容器与代理有一个连接,它用于读取和写入。我们为每个登录用户生成一个侦听器线程(大约 1500 个并发)。这个线程有一个带有消息选择器的接收器,它只为这个特定用户选择响应消息。一旦 servlet 线程发送了它的查询消息,它就会等待用户的侦听器线程通知它它已读取响应。
我们曾经让所有发送者和所有接收者共享一个 QueueSession。这实际上有效(!)虽然会话正式不是线程安全的。每个线程创建一个 QueueSession(servlet 线程和侦听器线程)在一定程度上提高了性能,但事情仍然不太稳定,我们希望更好地组织事情。
我尝试为每个用户会话创建一个临时队列,而不是一个带有消息选择器的队列,但这大大减慢了速度。
什么是更好/正确的组织方式?
java - 如果与 SonicMQ 的连接被拒绝,则重新连接到 SonicMQ
我无法连接到 SonicMQ 可能是因为生产者/消费者不可用。在这种情况下,SonicMQ 支持在一段时间后重新连接。
delphi - 在 Delphi 中接收 OpenMQ 消息
我需要在 Glassfish 服务器和 Delphi 之间进行通信。我需要接收它的消息。我发现 Glassfish 使用 OpenMQ 代理。
首先,我找到了 delphi 的 jms 库。我发现那里只有 JMS 接口。并发现那里有 SonicMQ JMS 实施。但正如我发现的那样,SonicMQ 和 OpenMQ - JMS 的不同代理。也许我错了。
我还找到了适用于 OpenMQ 的 Habari 客户端库,但这些库不是免费的。
也许有人知道这个问题的任何免费解决方案?或者我弄错了,我可以使用 SonicMQ 实现?
我已经下载了 Habari 演示程序,但无法连接到 glassfish 服务器(连接已完全关闭)。也许我做错了什么?我只需要收到消息。我不需要发送它们。
我以前从未使用过 JMS,这就是为什么我有这样的问题。