java - JAVA中的生产者消费者模式

标签 java producer-consumer

Here the pattern of consumer-producer

Producer 创建一个新消息,consumer 通过 Broker 监听它们。

到目前为止,生产者 创建并发送消息,而消费者 等待消息。当新消息出现时,consumer 将其打印到屏幕上。

我希望 Producer 被告知 Consumer 已收到消息并将其出列。

我想知道有什么方法可以从Consumer通知/反馈Producer吗?或者我应该通过 Broker 通知 Consumer 吗?怎么做到的?

最佳答案

JMS 标准支持一个回复队列(JMSReplyTo),使得原始消费者可以在特定队列上向原始生产者返回回复消息。

如图所示;

http://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReplyJmsExample.html

enter image description here

如果您还使用 JMSCorrelationID,则可以将消息链接在一起,以便您知道回复与 ID 为 xxxxx 的特定请求相关。

当然,这意味着消费者将成为回复消息的生产者。

提供的链接也有代码来显示一个工作示例(虽然我自己没有尝试过)

关于java - JAVA中的生产者消费者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40465390/

相关文章:

elasticsearch - 在Logstash和Kafka中优先处理消息

java - Eclipse : quick run/preview vs. 运行主程序

java - 如何将空列表发送到 IN 子句

java - 从 JTextArea 清除附加文本

java - 减少 GridLayout Java Swing 中的空间

Java多线程生产者消费者

java - 交替 PipedOutputStream PipedInputStream Numbers 示例

java - 为什么这个多线程程序会陷入死循环?

java - 在 Firebase android 中写入数组

apache-kafka - 由于消费者速度慢,Kafka 重新平衡主题中的数据