- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用的是 ActiveMQ 5.6。我有两个消费者。当一个消费者通过 onmessage 方法接收消息时,其他消费者不会接收消息。意味着我希望第二个消费者能够在第一个消息的计算期间接收第二条消息。我尝试了很多方法但没有任何效果..
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url);
connectionFactory.setAlwaysSessionAsync(true);
connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Session session1 = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destinationQueue1 = session.createQueue(dataQ);
Destination destinationQueue2 = session1.createQueue(dataQ);
NormalListener listener = new NormalListener();
NormalListener listener2 = new NormalListener();
MessageConsumer consumerData1 = session.createConsumer(destinationQueue1);
consumerData1.setMessageListener(listner1);
MessageConsumer consumerData2 = session1.createConsumer(destinationQueue2);
consumerData2.setMessageListener(listener2);
public class NormalListener implements MessageListener{
@Override
public void onMessage(Message message) {
try {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
String receivedMessage=textMessage.getText();
readMessage(message);
}
}
}
} catch (JMSException e) {
e.printStackTrace();
}
}
}
最佳答案
代码创建两个 session - session 和 session1 - 并且仅使用第一个 session ( session )来创建使用者。
尝试使用第一个 session 创建第一个使用者,并使用第二个 session 创建第二个使用者。我还会使用一致的命名,使用 session1 和 session2:
MessageConsumer consumerData1 = session1.createConsumer(destinationQueue1);
consumerData1.setMessageListener(listner1);
MessageConsumer consumerData2 = session2.createConsumer(destinationQueue2);
consumerData2.setMessageListener(listener2);
<小时/>
NormalListener 不是标准 JMS 类/接口(interface)。您可以尝试使用普通的 MessageListener 吗?
此外,您没有显示消息监听器的 onMessage() 方法中的代码。您是否检查了潜在的线程问题,并将其代码减少到最少以进行测试?
另请参阅:http://activemq.apache.org/multiple-consumers-on-a-queue.html
关于java - 当其他消费者正在处理消息时,ActiveMQ onmessage 被阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26843990/
在 background.html : chrome.tabs.query({active:true, currentWindow:true},function(tabs){ chrome.tab
作为 websocket 客户端,我们可以访问 onMessage 函数,该函数在客户端每次从服务器接收到消息时都会触发。我试图了解如果在 onMessage 事件上调用的代码块需要更长的时间来运行接
这是我的代码: initializeApp() async { FirebaseMessaging firebaseMessaging = FirebaseMessaging(); fireb
对于 Delphi Win32 (VCL),我使用: Application.OnMessage := MyAppMessage; FireMonkey 中的等效项是什么? 我有一个例程,需要捕获应用
我使用 Application.OnMessage 事件处理程序来处理来自程序中其他线程的消息(通知)。我发现如果弹出菜单处于事件状态(打开),则不会调用此事件处理程序。测试代码如下(没有线程但原理是
所以我正在为 Firefox 开发我的下一个附加组件,但是,在阅读 ContextMenus 的文档时,似乎永远不会调用 onMessage 事件,这是我的代码: exports.main = fun
我尝试在我的项目中实现 GCM,但 onMessage 函数出现问题。根据例子,我写: @Override protected void onMessage(Context arg0, Intent
hi This : var fees=document.getElementById("conn"); var btn=document.getE
当添加回调以捕获通过 web worker 管道传输的数据时,您通常会这样做: worker.addEventListener("message", function(event) { var
我有一个发送消息的浏览器操作 chrome.browserAction.onClicked.addListener(function(tab) { var message = {
我正在使用 django-channels 在 django 应用程序中实现套接字。 我关注了instructions它起作用了: socket = new WebSocket("ws://127.0
我正在挂载中设置回调: data() { return { code: 'Apple', } }, mounted() { console.log(this.c
我尝试通过 JS-WebSocket 在 Java WebsocketServer ( https://github.com/TooTallNate/Java-WebSocket) 与网页之间进行通信
我遇到过这样的问题,如果我的下面的方法失败或者是异常,我仍然会使用 msg。我希望该功能在捕获期间进行回滚并将消息放回队列/主题。 public void onMessage(Message mess
我正在使用 ActiveMQ 编写应用程序,其中我使用异步 onMessage() 方法从 ActiveMQ 获取消息。 假设我从 activemq 收到 1000 条消息,因此所有消息都将存储在 O
我正在尝试实现我自己的 websocket 服务器,但在使用 JavaScript 中的 onmessage 函数时遇到了一些麻烦。就是火不起来!我将一个警报放入其中,以便在它被调用时触发,但警报永远
如何使用 JavaScript 从 WebSocket 完全读取 event.data? onMessage: function(event) { var msg = event.data; al
我正在实现 MessageListner 类的 onMessgae () 方法,但即使我将调试点放入此方法中,它也不起作用,但调试器也不会进入此方法中。 使用该方法接收来自Queue的消息。下面是我用
我正在订阅 OnMessage 事件,当用户发送消息时它会被调用两次;一旦他/她开始打字,在这种情况下 Message 对象内容如下: Body = null Chatstate = composin
在我的应用程序中,我使用了 GCM 服务。我想在 onMessage 函数中发出哔哔声或播放一个小的 mp3 文件。 我的 GCMIntentService 是从 GCMBaseIntentServi
我是一名优秀的程序员,十分优秀!