如何使用 redisson 为 RBlockingQueue 创建监听器?
How to create a listener for RBlockingQueue using redisson?
在我的一项服务中,我正在添加到队列中:
RBlockingQueue<String> queue = redissonClient.getBlockingQueue("ABC");
queue.add(receivedTask.toString());
在第二个服务中,我连接到同一个 redis 实例,并希望在从第一个服务添加新元素后从队列中 read/pop,如下所示:
RBlockingQueue<String> queue = redisClient.getRedissonClient().getBlockingDeque("ABC");
System.out.println("received: " + queue.poll(0, TimeUnit.SECONDS));
我早些时候处理过 RTopic,它工作正常,但用例已经改变,现在必须改用 RQueue。不确定我在这里做错了什么。
居然发现自己哪里做错了。
应该使用 subscribeOnElements():它通知侦听器并轮询可以访问的新元素。
queue.subscribeOnElements((msg) -> {
//code
});
在我的一项服务中,我正在添加到队列中:
RBlockingQueue<String> queue = redissonClient.getBlockingQueue("ABC");
queue.add(receivedTask.toString());
在第二个服务中,我连接到同一个 redis 实例,并希望在从第一个服务添加新元素后从队列中 read/pop,如下所示:
RBlockingQueue<String> queue = redisClient.getRedissonClient().getBlockingDeque("ABC");
System.out.println("received: " + queue.poll(0, TimeUnit.SECONDS));
我早些时候处理过 RTopic,它工作正常,但用例已经改变,现在必须改用 RQueue。不确定我在这里做错了什么。
居然发现自己哪里做错了。 应该使用 subscribeOnElements():它通知侦听器并轮询可以访问的新元素。
queue.subscribeOnElements((msg) -> {
//code
});