如何在 Spring 集成中使用控制总线到来自另一个 JVM 的 start/stop 集成组件
How to use Control bus in Spring integration to start/stop integration components from another JVM
我们在连接到公共 ActiveMQ 队列的多个 jboss 节点中使用 spring integration/spring 批处理作业到 运行 作业。我们已将侦听 queue/channel 的入站网关的自动启动配置为 false。自动启动的问题是,如果入站网关有更多并发消费者 属性,那么在服务器启动期间启动的所有节点中,即使需要这些消费者线程的作业频率为很稀少。在这种情况下,spring 批处理作业在 4 个节点之一中被触发。我们可以利用控制总线在作业启动时启动入站网关组件,它适用于同一个 JVM。但是在工作节点中(运行ning 在不同的 JVM 中),我们如何发送控制总线消息来启动入站网关组件,以便它们开始使用触发作业放置的消息?
控制总线只是一个端点,用于使用来自其输入通道的消息。该通道可以是内存中的通道,也可以是基于某些共享存储的分布式通道。例如,提到的 ActiveMQ 只是一个 JMS 供应商,因此您可以使用 JMS 入站端点来使用来自 ActiveMQ 主题的命令消息并将其生成到该控制总线输入通道:https://docs.spring.io/spring-integration/docs/current/reference/html/jms.html#jms-message-driven-channel-adapter
我们在连接到公共 ActiveMQ 队列的多个 jboss 节点中使用 spring integration/spring 批处理作业到 运行 作业。我们已将侦听 queue/channel 的入站网关的自动启动配置为 false。自动启动的问题是,如果入站网关有更多并发消费者 属性,那么在服务器启动期间启动的所有节点中,即使需要这些消费者线程的作业频率为很稀少。在这种情况下,spring 批处理作业在 4 个节点之一中被触发。我们可以利用控制总线在作业启动时启动入站网关组件,它适用于同一个 JVM。但是在工作节点中(运行ning 在不同的 JVM 中),我们如何发送控制总线消息来启动入站网关组件,以便它们开始使用触发作业放置的消息?
控制总线只是一个端点,用于使用来自其输入通道的消息。该通道可以是内存中的通道,也可以是基于某些共享存储的分布式通道。例如,提到的 ActiveMQ 只是一个 JMS 供应商,因此您可以使用 JMS 入站端点来使用来自 ActiveMQ 主题的命令消息并将其生成到该控制总线输入通道:https://docs.spring.io/spring-integration/docs/current/reference/html/jms.html#jms-message-driven-channel-adapter