问题标签 [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.
spring - Apache Camel JmsComponent - 如何检查主题中是否有消息?
我有一条骆驼路线来使用来自 JMS 主题的消息。当路由开始,并且主题中没有消息时,我想引发异常并停止该过程。
我正在使用来自 Apache Camel 的 JmsComponent,它使用来自 Spring 的 DefaultMessageListenerContainer 并被定义为事务性的。当前的行为是路由开始但它无限期地等待消息。
是否有任何解决方案来检查消息是否存在并在不存在时简单地停止路由?
jms - jms 主题连接工厂查找挂起
我正在尝试连接到 HornetQ 并在主题连接工厂 b 上执行查找,TopicConnectionFactory hornetQConnectionFactory = (javax.jms.TopicConnectionFactory)ic.lookup("/ConnectionFactory");
但它给出了错误“javax.naming.NamingException:无法取消引用对象[根异常是 java.lang.ClassNotFoundException:org.hornetq.jms.client。 HornetQJMSConnectionFactory]"。请帮忙
activemq - 如何做一个监听 ActiveMQ 主题的 Storm spout?
我编写了一个 Storm 拓扑,它用它的 spout 监听 kafka 上的特定主题。现在我必须在activeMQ上迁移它。是否可以使用 activeMQ 重现这些主题并创建像我使用 kafka 一样聆听它们的 spout?
我用谷歌搜索了它,但不清楚如何向主题发送消息或收听特定主题。在卡夫卡做类似的事情
发送有关主题的短信并创建一个
听它。在activeMQ中?
看来我必须做
与主题数量一样多,然后要听它们,我必须写一些类似的东西
我不确定这是正确的方法,我希望得到任何建议的支持!
java - JMS 发布到主题需要很长时间并且被事务收割者杀死
所以我有这个发布到 JMS 主题的代码:
我通过 SOAP 不断地调用这段代码,它执行得相当快,不超过 1-2 秒。但是,我遇到的问题是,有时此代码会挂在“send.publish(message)”上,并且可能需要很长时间,从 5 到 15 分钟,最终会完成或被事务收割者杀死:
......
奇怪的是我不使用这种方法的事务,我用之前的方法确认了这一点,其中“MyCreatedObject”是在数据库中创建的,所以我不知道哪个事务是收割者杀死的。
问题 1:如何确定 reaper 正在杀死哪个事务?我在“com.arjuna”上启用了跟踪,但没有打印出任何有用的信息。
问题 2:如何导致 send 方法超时?我尝试将 TopicPublisher 上的 timeToLive 设置为 120000(2 分钟),但似乎没有效果。
最终,对我来说理想的是确定为什么会延迟发布到主题,以及我如何通过设置某种超时来干预此发布,因为这部分并不重要,这意味着我不希望如果发布失败,整个 SOAP 调用以错误结束,我只想记录一个错误并让它成功完成。我正在考虑在另一个线程中调用此“notifyCreateListeners”方法,我将在一段时间后将其杀死(如果它仍然处于活动状态)。这是一个可行的解决方案,还是您可以推荐其他方法?
java - 如何解决线程“main”中的异常 javax.naming.NameNotFoundException:未绑定?
我正在尝试在 Eclipse 中创建一个 jms 发布者/订阅者聊天应用程序。
尝试运行程序我在控制台中收到以下错误
java - Websphere8 JMS jndi 查找错误原因:org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
我是新的 JMS,我创建了示例 JMS 应用程序。
我创建了总线 testBus 安全性已禁用,总线成员,队列连接工厂 testQF 选择总线 testBus。创建队列为 testQQ 选择总线作为 testBus 并选择 testPP 队列作为队列名称,该队列名称被创建为服务满足总线目的地作为点对点。
在运行我的应用程序时出现此错误。
我正在从 j2ee 项目类型中的 main 方法运行我的应用程序,这是一个问题吗?请帮我解决这个问题。
谢谢,
CVSR 萨尔玛
java - ActiveMQ 持久主题、消息预订阅?
在我们的业务需求中,我们需要将更新传输给分布在全国各地的数千个客户。问题是,这些客户端中的许多使用 3g 网络连接到我们,因此,发生了许多连接/断开连接......我们需要提供的更新是“企业 A 不能再兑现”或“企业 B 能够再次兑现”,我们正在考虑使用 ActiveMQ 持久主题来提供这些更新。据我了解,一旦客户端连接到一个持久主题,即使他失去连接,每当他回来时,他都会在离线时收到发送到该主题的消息。最大的问题是,如果客户启动我们的系统,但消息被发送到他订阅的持久主题,在他的订阅之前。这个案例是:
创建持久主题
消息 1 被发送到持久主题
消息 2 被发送到持久主题
客户端 A 订阅持久主题
消息 3 被发送到持久主题
消息 4 被发送到持久主题
客户端 A 下线
消息 5 被发送到持久主题
消息 6 被发送到持久主题
客户端 A 上线
根据 ActiveMQ 论文,客户端 A 将毫无问题地接收消息 3 到 6。但是消息 1 和 2 呢?我们不能放弃这些信息......
提前致谢!
java - 无法使用连接模式“客户端”和主机连接到队列管理器“队列名称”
我已经使用 Camel 开发了订阅(主题)概念。它在我的本地 tomcat 中工作正常。但在我的测试环境 tomcat 中无法正常工作。它正在低于提到的错误。请帮助我解决问题以及如何调试问题。
它与服务器配置有关吗?
错误
问候, 格纳
java - ActiveMQ - 队列中主题和并发消费者之间的区别?
我正在尝试使用 apache ActiveMQ 我已经使用 spring 制作了我的第一个应用程序。我现在正在尝试实现发布者/订阅者应用程序,所有对等方都可以随时参与发布,订阅者将收到发布的任何内容。在谷歌搜索时,遇到了这些条款Topic
,the Concurrent consumers of the queue
现在我有点困惑。我对此有几个问题:
- 他们俩有什么不同?
- 哪个目的更有效?
apache-camel - Camel 路由中使用的 ActiveMQ 递归通配符
例如,Apache ActiveMQ 支持像 Camel 路由中的主题/队列这样的源的通配符。
文档显示可以递归匹配这样的模式:
火柴
等等...
但是在我的示例中,我必须匹配类似但以特定单词结尾的内容。
我想要捕捉的主题要么包含零个点,要么包含多个点,.
一个或多个下划线_
,并以.Mirrored
.
一些示例(均以 为前缀activemq:topic:
):