问题标签 [jms-topic]

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

jboss - 骡子与 JBOSS 5.1 主题

我需要从 Mule 订阅 JBOSS 5.1 主题。这是我正在使用的配置。

我在类路径中包含了以下 jar: concurrent.jar jboss-aop-client.jar jboss-common-core.jar jboss-logging-spi.jar jboss-mdr.jar jboss-messaging-client.jar jboss-remoting.jar jnp -client.jar trove.jar

尝试运行应用程序时出现以下错误。有人可以告诉我应该使用的确切依赖 jar 吗?

0 投票
2 回答
339 浏览

java - Spring中与JMS主题的并发

如何使用spring在jms主题中使用并发?与队列一样,我们可以将 maxConcurrentConsumers 属性设置为所需的数字。但是,如果我为 JMS 主题这样做,则会导致并发消费同一条消息,这是不可取的。

有人可以指出我正确的方向吗?

0 投票
1 回答
903 浏览

rabbitmq - 从 Mule 发布到 RabbitMQ 时如何不丢失消息,直到收到正确的“Ack”?

我有一个同步的 Mule 流,它从 sonic 主题读取消息并发布到 Rabbit 交换。

当 Rabbit 上/下时,我会丢失消息。Rabbit Exchange 正在发布到 HA 队列。在从 Rabbit Broker 收到正确的“Ack”之前,如何确保 Mule 不会使用该消息?这是流程。

04/22 更新

这是 Mule 连接到第二个代理时的异常跟踪。这是我失去消息的时候。

将 JMS 事务添加到 AMQP 出站端点时收到的异常已于 04/23 更新:

0 投票
2 回答
861 浏览

java - 您能否在运行时确定目标是队列还是主题?

我有一个有趣的挑战,必须在一个环境中将消息发布到主题,并且必须将消息发送到另一个环境中的队列。两种环境都需要具有相同的代码库。有没有办法在运行时确定目标是队列还是主题并调用代码以相应地发送到主题或队列?

0 投票
2 回答
2696 浏览

java - 从独立客户端向 JBoss 7.1 中的 JMS 主题发送消息,找不到 ConnectionFactory

我无法从独立客户端在 Linux 机器上的 JBoss 7.1 中将消息和对象发布到我的 JMS 主题实现。在这种情况下,我在 JUnit 测试用例中测试连接,这个:

我只是想通过 JMS 主题发布一个对象,但无论如何我都会收到一个 NamingException 作为输出。

这是应该为 MyTopic 实现 Publisher 的类:

当客户端尝试查找 ConnectionFactory 时捕获到异常,此处:

我已经尝试过只使用“ConnectionFactory”,但仍然得到一个命名异常。这是我的standalone.xml 片段,它打开了 ConnectionFactory:

我对 InitialContex 属性做错了吗?我已经看过一个类似的答案,但是通过启动 JBoss 切换到 sandalone-full.xml: sudo bash Standalone.sh -c Standalone-full.xml 并没有解决问题。先感谢您。

0 投票
1 回答
2261 浏览

activemq - 使用 Apache ActiveMQ 和 MQTT 协议为大量设备构建系统?

我正在使用 ActiveMQ 和 MQTT 协议构建一个带有大型设备的系统,我在独立服务器上使用的模型包含两个应用程序,如下所示:

  • App1:企业应用程序从大量设备接收消息:设备每3分钟通过主题发布到服务器:[设备] --- MQTT 协议 --> [ActiveMQ] --- Openwire 协议 --> [Glassfish with EJB using MDB订阅主题] --> Oracle DB

  • App2:来自Oracle DB的企业应用程序扫描命令并发送到大量设备:每个设备订阅一个唯一的主题,例如:device.0000001,然后服务器将在从服务器收到设备命令时发布到该主题[大量设备] < --- MQTT --- [ActiveMQ] <--- Openwire -- [Glassfish with EJB timer scan and publish] <-- Oracle DB <-- Web with commands

您能帮我了解一下企业模型以支持使用多服务器的大量设备吗?App1 的临时解决方案:我正在使用列表 ActiveMQ 服务器中的随机服务器来连接和发布消息。每台服务器,我都部署了独立的 ActiveMQ 和 App1 来订阅消息。

但是 App2:我只构建了一台服务器来扫描和发布消息。

哪个服务器可以发布到哪个设备连接到 ActiveMQ 的最佳模型的问题?可以将消息主题转换为队列,然后使用代理网络和多 App1 来处理唯一消息吗?

0 投票
1 回答
778 浏览

jms - 使用 setLongProperty() 方法延迟 websphere JMS 消息发布

JMS 的 websphere 实现是否具有一些属性来设置将消息发送到 JMS 队列的延迟。就像我们拥有的如下

a) 在 ActiveMQ ::msg.setLongProperty(ScheduledMessage.AMQ_SCHEDULED_DELAY, delay) b) 在 JBOSS :: JBoss msg.setLongProperty(“JMS_JBOSS_SCHEDULED_DELIVERY”, delay);

0 投票
1 回答
1712 浏览

memory - ActiveMQ - 达到主题的内存限制(镜像队列)

我们正在使用具有以下配置的 ActiveMQ 5.6: - 流量控制 - 主题的内存限制 1MB - 启用镜像队列(未定义明确的虚拟主题)

有持久消息被发送到队列QueueA。很明显,这条消息被复制到Mirror.QueueA了一个非持久性和自动创建的主题中。

在这个话题上,没有消费者。如果偶尔有消费者,他们是非持久订阅者。

过了一会儿,生产者阻塞了,我们得到以下错误:

根据包括ActiveMQ 文档在内的各种来源,没有持久订阅者的主题中的消息将被丢弃,这是我想要的和预期的。但显然情况并非如此。

一个相关的 StackOverflow 问题,但公认的解决方案建议使用流控制但禁用磁盘假脱机:

当达到 memoryLimit 时,不会使用磁盘和块生产者。

但我不想阻止生产者,因为他们会无限期地阻止,因为没有消费者来。为什么这些消息会被持久化?

我看到几个选项: - 这是一个错误,可能在以后的 AMQ 版本中修复 - 这是一些配置问题(我不知道如何解决它) - 有一些选项可以在内存限制时简单地删除最旧的消息被击中(我找不到任何这样的选项)

我希望有人能帮帮忙!

谢谢,

//J

[更新]

虽然我们已经在现场部署了 5.6 版本,但我目前正在使用相同配置的 5.8 安装 AMQ 运行相同的耐久性/负载测试。现在,我已经传送了 10 倍于 5.6 系统的消息,没有任何问题。我会让这个测试在晚上甚至接下来的几天里运行,看看是否还有其他限制。

0 投票
0 回答
123 浏览

performance - 达到最大大小字节时 HornetQ 的低吞吐量

我有一个简单的测试配置:一个快速的 C++ 生产者通过 Stomp 向一个主题发送约 60 字节的消息,一个缓慢的消费者,以及设置为 DROP 的地址完整策略。

队列迅速增长,每秒接收数千条消息,直到达到我的最大大小字节数,即大约 300,000 条消息。HornetQ 开始按预期丢弃消息,但从那时起每秒只接受来自生产者的 3-4 条消息。什么会导致这种情况?如果它正在丢弃消息,它不应该能够从生产者那里全速接受它们吗?

0 投票
2 回答
462 浏览

shell - 通过 shell 脚本访问 Oozie JMS 通知

我正在自动化 Oozie 工作流,在自动化过程中为 100 个工作流生成结果时,必须了解每个 oozie 作业的状态,我已经确定 oozie JMS 通知可以帮助我们,oozie JMS 通知发布在主题和无论如何,我的查询在那里我们可以通过 Shell 脚本获得通知。或者通过 Java 代码是唯一的选择。