我们使用spring集成/spring批处理作业在连接到公共ActiveMQ队列的多个jboss节点中运行作业。对于监听队列/通道的入站网关,我们已经将自动启动配置为false。自动启动的问题是,如果入站网关具有更多的并发消费者属性,那么在服务器启动期间启动的所有节点中,这些数量的消费者线程将处于活动状态,即使需要这些消费者线程的作业的频率非常低。在此场景中,spring批处理作业在4个节点中的一个节点中触发。当作业开始时,我们可以利用控制总线来启动入站网关组件,它工作在同一个JVM上。但是在工作节点(运行在不同的JVM中)中,我们如何发送控制总线消息来启动入站网关组件,以便它们开始使用由触发作业放置的消息?
发布于 2021-11-10 02:59:42
控制总线只是一个端点,用于使用来自它的输入通道的消息。通道可以是内存中的通道,也可以是基于某些共享存储的分布式通道。例如,前面提到的ActiveMQ只是一家JMS供应商,因此您可以使用JMS Inbound Endpoint来使用来自ActiveMQ主题的命令消息,并将其生成到控制总线输入通道:https://docs.spring.io/spring-integration/docs/current/reference/html/jms.html#jms-message-driven-channel-adapter
https://stackoverflow.com/questions/69906845
复制相似问题