JmsItemReader-它执行JMSReceiver的功能吗?

时间:2019-01-16 18:10:34

标签: spring-batch spring-jms

我已经将JMSReader定义为Spring Batch Job(Spring Boot)的一部分,并禁用了自动作业触发功能。我的要求是在收到消息时启动工作。 JMSReader bean是否也执行JMS接收,还是应该定义一个单独的JMSReceiver类。如果必须定义JMSreceiver,我该如何触发作业(JobLauncher ??-如果手动触发,所有自动注入都能正常工作吗?)

1 个答案:

答案 0 :(得分:0)

JmsItemReader用于从Jms队列中读取实际数据(项目)。因此,用它来启动工作是不够的。

您要找的实际上是JobLaunchingMessageHandler,可以将其配置为收听JobLaunchRequest,并相应地启动作业。

您可以在参考文档的Launching Batch Jobs through Messages部分中找到更多详细信息和代码示例。

希望这会有所帮助。