我们正在开发一个 POC 以使用 Spring 集成和 Rabbit MQ。我们有两个模块生产者模块和消费者模块都在不同的 JVM 中运行。Producer 模块在新文件到达后立即侦听文件夹(输入文件夹),创建一条消息然后推送到(incoming.q.in)队列并移动到进程文件夹。
Consumer 模块然后从incoming.q.in 队列中提取消息,然后处理它们移动到完整文件夹的文件。
生产者和消费者代码都工作正常,但在一些理想项目之后,消费者模块与 Rabbit MQ 断开连接。我们在incoming.q.in 队列中看到消息,但消费者没有处理。
当我登录到 Rabbit MQ 管理/管理工具“incoming.q.in”消费者列表是空的并且消息是“......没有消费者......”。
消费者代码
<int-amqp:inbound-channel-adapter channel="inBoundfile" queue-names="incoming.q.in" connection-factory="connectionFactory"
error-channel="error.in">
</int-amqp:inbound-channel-adapter>
<int:header-enricher input-channel="inBoundfile" output-channel="serviceInbound">
<int:header name="FILEID" expression="payload.fileID" />
</int:header-enricher>
<int:service-activator ref="routerService" method="processFile" input-channel="serviceInbound" output-channel="fileHandler.router.in" />
....
我感谢您的帮助。