toa*_*ndv 7 java multithreading message-queue rabbitmq mq
我正在使用Java在RabbitMQ中实现请求/答复模式。我知道通道不是线程安全的,因此每个使用者/线程使用1个通道。
我想知道在我的情况下,使用单个通道来消费和发布消息,或者接收请求并返回响应时是否存在任何问题或效率低下,就像下面的代码一样,它来自这里:
channel.basicConsume(RPC_QUEUE_NAME, false, consumer);
channel.basicPublish("", props.getReplyTo(), replyProps, response.getBytes());
Run Code Online (Sandbox Code Playgroud)
我应该使用两种不同的渠道来消费和发布消息吗?
old*_*und -1
您应该使用不同的连接进行发布和消费,因为发布连接可能会被 RabbitMQ 限制。如果您的消费者处于同一连接中,他们也可能会被阻止。
https://www.rabbitmq.com/blog/2015/10/06/new-credit-flow-settings-on-rabbitmq-3-5-5/