问题标签 [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.
java - Weblogic jms分布式主题
使用 java 应用程序,我正在尝试在 jms 统一分布式主题上创建持久订阅。
jms 服务器在 weblogic 10.3.5 上运行,主题分布在 2 个服务器上。
如果我正在开发一个消息驱动的 bean,它就可以工作。我在两台服务器上都有一个具有相同订阅名称的持久订阅。
使用独立的 java 应用程序,我可以使用普通主题(非分布式)来完成这项工作。但无法管理它与分布式主题一起使用。
给我
在 weblogic 控制台中,第一个订阅是创建的testSubscription
,myJmsModule!jmsserver1@myTopic
而不是第二个。
我能做些什么 ?
jms - 为什么 ActiveMQ 管理 UI 上的主题订阅者不断变化?
我有一个具有多个订阅者的 JMS 非持久主题(使用 ActiveMQ)。
每个订阅者都是部署在单独的 Tomcat 实例上的 Web 应用程序。当消息到达时,我希望它传递给所有订阅者(有点像分布式缓存实现)。
我注意到并非总是将消息传递给所有订阅者。在查看 ActiveMQ 管理 UI 时,我看到主题订阅者列表(以及连接列表)不断变化。例如,我看到 17 个订阅者,我刷新 ActiveMQ 管理 UI,然后我看到 19 个订阅者,我再次刷新 - 我看到 18 个等等。
怎么了?我知道所有的雄猫一直都在。我对 JMS 主题的理解是,如果应用程序启动,则应该始终传递消息。我误解了什么吗?我认为该订户“闪烁”没有合乎逻辑的原因。
PS我宁愿不尝试持久主题 - 如果应用程序未启动,我不需要传递消息。
jms - JMS 主题订阅 Tomee 1.7.1
我正在试验消息驱动 Bean,以便从外部 ActiveMQ 实例接收主题订阅消息。
我的测试首先从 Queue 订阅开始,效果很好。
然后我想尝试主题订阅,但我无法让它工作。
这就是我所拥有的:
conf/tomee.xml
这是 MDB:
我不知道为什么,但从日志中我可以看到 TomEE 创建了一个队列而不是一个主题:
另一个证明是当我添加持续时间配置时服务器不会启动:
然后服务器抱怨这不适合配置的类型 javax.jms.Queue。
我还尝试用一个愚蠢的简单邮件方法制作一个 TopicConsumer,它运行良好。此外,当我从整个配置文件中删除队列配置(MyQueue)时,这并没有什么不同。
有人知道我在做什么错吗?
spring - 一个 JMS 消费者停止监听活动的 mq 主题,而第二个没有
在我的项目中,弹簧石英工艺每 15 分钟运行一次,即每天运行 96 次。这会从数据库中获取某些记录并将其发布到 REST 服务(在 JBoss 7 上运行)。这些记录一般有 50 到 100 条。
在 REST 服务上,有 jms 事件发布者在主题上发布此消息。这个话题有两个消费者。
- 该处理消息并在移动设备上发送推送通知消息
- 与第三方通话(通常需要 4 到 5 秒才能完成通话)
由于它是主题,因此两个消费者都会接收所有消息,但它们会根据某些属性将它们过滤掉,因此很少有消息由一个消费者处理,而由另一个消费者休息。
我的问题是;这是最近一周以来观察到的;消费者 #1 多次收到来自 APNS 的响应作为无效令牌;令牌用于向手机发送推送通知;一段时间后,该消费者停止并且根本不响应,而第二个消费者继续运行。
下面是配置:
我搜索了另一个发布的问题,但找不到任何相关内容。 你的想法会很有帮助。
java - 异步读取消息时检查 JMS 类型
我的 JMS 中有一个队列。在向队列发送消息时,我将 JMStype 称为“XYZ”。在消费者端,我有一个 onMessage 监听器。我想知道的是以下
- 在 onMessage 侦听器中,如何在不使消息出队的情况下检查消息的 JMStype。如果我正在运行的实例发现 JMStype 不是“XYZ”,那么它不应该做任何事情并且不应该将它从我的队列中出列。只有需要 JMStype 'XYZ' 消息的实例才应将消息出列并进一步处理它。
感谢您抽出宝贵时间阅读我的查询。
spring - 使用 Spring 将在 Topic 上发送的 JMS 消息保存到 Gemfire
问题在于我在 Topic 上接收 JMS 消息,并且我需要将消息结构保存到 GemFire(经典)区域 MessageStructInfo 中。
消息的结构中包含数据,例如 < messagenotification > < fieldidentifierEndDate="2014-12-24" fieldidentifierStartDate="2014-12-07" fileName="filenotification.xml" directory="../filehostdirectory" /> </messagenotification >
我需要从消息中提取字段数据并保存到 GemFire 区域。
MessageStructInfo fieldidentifierStartDate,
fieldidentifierEndDate, fileName, directory, Status - Additional (Received, Processed, Completed)
我需要这个帮助。
谢谢瑞诗
java - 多个 servlet 请求无法调用 JMS 对象的方法
我有一个附加到请求对象的 JMS 对象,并且在 doPost() 方法中,正在调用对象的 get 方法来获取当前主题数据,这些数据将连续发送给客户端作为响应。
同时在另一个用户请求中,我在 doPost() 方法中看不到被调用的 get 消息,或者更确切地说,正在从调用中接收空/空字符串。
如何使该方法响应并发请求/用户。
关于调试:在 eclipse 中调试时,我有时会看到两个线程交替接收 getMessage 数据。
同时调用topicObject.getMessage()的正确方法是什么
jms - 持久主题订阅和 dead.letter.address 和消息重新传递
我有 jms 主题,它有一个或多个持久订阅。当一个订户导致回滚和另一个成功时,我遇到了这种情况。消息到达死信地址。
在我解决错误并且消息应该能够继续之后,我想将消息移回原始目的地(主题)。问题是,在我这样做之后,所有订阅者都会收到消息,而不仅仅是一个失败的消息。
有没有可能以某种方式解决它?
仅供参考。我使用带有 HornetQ 的 JBoss eap 6.1 作为 jms 提供程序。
asynchronous - 在 tibco ems 中实现异步发布订阅主题
我的情况是,我作为电影发行商,需要向我的客户更新新电影,我发布有关具有持久订阅者的主题的信息,并且想要购买电影的客户会表达他们的兴趣。
但是,这就是事情的发展方向,我的发布者实现在收到第一个回复后立即停止侦听。任何帮助将不胜感激。谢谢你。
request(Message message) 发送请求并等待回复。临时主题用于 JMSReplyTo 目的地;返回第一个回复,并丢弃任何后续回复。
https://docs.oracle.com/javaee/6/api/javax/jms/TopicRequestor.html
java - JMS 主题订阅者重新连接
我将 Glassfish 3.1.2.2 与 OpemMQ 4.5.2(远程模式)一起使用。在我的应用程序中,有一个 JMS 主题的订阅者,它使用MessageListener
.
当 broker 停止并在一段时间后启动时,订阅者不会收到重新启动后发布到 JMS 主题的消息。
恢复主题订阅者的最佳方法是什么?
我试过ExceptionListener
了,但显然在 Glassfish 上运行我的应用程序时不支持它。