问题标签 [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 - 在 Glassfish 上为订阅者提供身份验证的 JMS 主题
我在 Glassfish 服务器上配置了一个 JMS 主题,并且我实现了一个客户端来订阅主题并打印它接收到的消息。这工作正常。
这是我的客户。您可以看到我选择使用一种“直接连接”而不是使用 JNDI 查找。
这样任何客户都可以订阅我的主题。我现在想要的是找到一种方法来强制客户端在开始接收消息之前进行身份验证。Glassfish 有可能吗?
到目前为止,我已经尝试在 Glassfish 管理页面上更改“默认 JMS 主机”凭据并传递我在创建连接时设置的新凭据:
但这没有用。如果我通过默认凭据,它会起作用:
我想我必须在其他地方更改凭据,但我不知道在哪里。而且即使有效,也会强制客户端进行身份验证?我的意思是,如果没有凭据,我的客户就没有其他方法可以订阅我的主题吗?
java - Websphere MQ 主题 - 它们是否严格排序?
topic
是否在您订阅的 Websphere MQ 上收到消息strictly ordered
?
换句话说,以与 a 类似的方式queue
,假设您的连接保持不变,您是否保证以与topic
发送消息相同的顺序接收消息?
java - 连接到 Sonic 主题的简单 Java 客户端
我需要编写一个简单的 java 类,将消息发送到 Sonic 主题。我可以使用 JNDI 值进行查找。这是代码。
这会引发错误 javax.naming.NameNotFoundException: /testtopic not found in the specified context
当我调试代码时,我可以看到“connectionFactory”变量具有以下字段和值,这些字段和值与我在上面在属性中指定的值完全不同。
我需要知道如何编写一个简单的 Java 客户端来连接到 Sonic 主题。
jboss - hornetq "Cannot find queue info for queue ", core bridges?
I have very limited knowledge of HornetQ configuration, but I'll try to explain my problem best I can.
Here's the setup:
There are several STANDALONE JBoss (6.1.0Final) instances running on one network. This means, they are not clustered, they have deployed different application, and in general they should not interfere with one another. Each JBoss has HornetQ configured with one topic.
There are NO core bridges (or any bridges at all) configured in deploy/hornetq/hornetq-configuration.xml
, in fact this is pretty much standard conf file, with little to no changes from the one that is supplied with jboss (I'm happy to post it if someone asks tho).
During startup of ALL JBoss instances:
of course the UUID is different for each server.
However, for some servers HornetQ also creates bridges (WHY?):
First question: Why does this happen, why does HQ create this bridges even if no configuration of them is specified?
Here's the problem:
every few seconds, HornetQ spews
Now this is a little "random", some of the JBoss servers don't log it at all, some log it multiple times with different UUIDs, it all depends on how many bridges it created during startup...
Why does this happen to me? What can I do to stop it. I want all of the servers to work independently of each other.
I'm happy to provide more information that could help solve this issue.
java - What point of time message is removed from topic?
I have a topic. I have 10 consumers subscribed for it. As per my understanding, message will be removed from topic till all consumers have received it. Right? Once it is removed, any further subscriber will not notified for that specific message. I could not confirm it in JMS specification anywhere.
jms - 多个 JMS ConnectionFactory
我是 JMS 的新手,目前正在开发一个简单的聊天应用程序,在 Oreilly 的“Java 消息服务”中进行了说明。我在 ActiveMQ 中配置了一个 TopicConnectionFactory,它接收来自 TopicPublishers 的聊天消息并将其发送给 TopicSubscribers。
我的问题是“为什么我们需要在任何 JMS 应用程序中创建多个 TopicConnectionFactory”?由于 Connectionfactory 实例不与主题/队列绑定,为什么我们不能使用 ConnectionFactory 的一个实例来创建与应用程序中配置的所有主题(或队列)的连接?
jms - Apache骆驼和Jms示例程序
我正在使用一个程序使用 jms 和 apache camel 将消息发布到 activemq ..
它正确放置了 10 条消息...但是问题是当将“i”的计数增加到 100,500 或者我无法在测试文件夹中找到这么多消息时...帮助我解决这个问题...谢谢提前..
jms - 如何使用 ActiveMQ 主题发送增量更新和快照同步
这是我的用例:我正在开发一个交易应用程序,我想向活跃的消费者发送增量库存更新(bidQty 等),而不是向新消费者发送整个报价和快照更新(开始)。
现在,是否可以覆盖任何 ActiveMQ 的类(主题的实现者)来实现这种行为?这方面的任何线索都会有所帮助。
如果在任何其他开源提供商中也可以做到这一点,请告诉我。
java - AMQP 1.0 主题非持久消费者
一段时间以来,我正在尝试创建不需要订阅的主题消费者。所以我想实现与 JMS 非持久主题订阅者类似的行为。
我正在使用 MS Azure AMQP 1.0 服务总线和 apache qpid amqp 1.0 客户端(JMS 实现)。
谢谢
spring - 如何集成测试一些 Spring JMS 配置
我想知道是否有人可以提供帮助。我的 10 岁首发是我对 JMS 和一般消息传递知之甚少(几乎一无所知) - 所以请与我一起轻松回答/评论 :)
鉴于这对我来说是一个学习练习,我正在尝试组合一个非常基本的 Spring JMS 配置,然后编写一些集成测试来帮助我理解它是如何工作的。
这是我当前的 Spring 上下文配置及其 JMS 组件:
我的 JmsMessageProducer 类有一个 postMessage 方法,如下所示:
而我的 JmsMessageListener(实现 MessageListener)有一个 onMessage 方法如下:
在我的测试类中,我可以启动 Spring 上下文,获取 JmsMessageProducer bean,然后调用 postMessage;我按预期在控制台上看到了消息:
虽然这可行,但它并不是一个真正的测试,因为除了我直观地看到控制台上收到的消息之外,我无法断言消息已收到。
我们使用 mockito,所以我想知道在我的测试中是否有一种方法可以用 mock 替换 MessageListener bean,然后对其调用 verify。我想我可以通过为这些测试提供不同的 Spring 上下文文件来做到这一点,但这可能不适用于我的下一个需求......
我所有这一切的最终目标是创建一个主题,我的消息生产者可以将消息发送到队列中,多个 MessageListener 中的 1 个将从队列中读取消息,当所有注册的侦听器都读取了消息时,消息从队列中删除。(我认为主题是正确的术语!)
为了证明这个系统可以工作,我想要一个可以启动 Spring 上下文的测试。我想做的第一件事是用 3 个都连接到同一个目的地的模拟替换侦听器,这样我就可以在每个模拟上使用验证。我会发布一条消息,然后验证是否已收到每个模拟。然后我想删除/禁用 2 个侦听器,调用 postMessage,并验证在剩下的一个模拟侦听器上调用了 onMessage 方法。然后也许等待一段时间,重新建立 2 个模拟,并验证它们的 onMessage 方法是否被调用。最后,检查消息不再在队列中(由于 3 个注册的侦听器都收到了消息)
考虑到上述情况,我认为我要做的是在运行时针对目标注册和取消注册(或禁用)侦听器,如果我能做到这一点,那么我可以注册模拟。
唷!,这很复杂!,但我希望这对我想要做什么有意义?
关于如何实现这一目标的任何指示?提前谢谢了,
弥敦道