我已经将JMSReader定义为Spring Batch Job(Spring Boot)的一部分,并禁用了自动作业触发功能。我的要求是在收到消息时启动工作。 JMSReader bean是否也执行JMS接收,还是应该定义一个单独的JMSReceiver类。如果必须定义JMSreceiver,我该如何触发作业(JobLauncher ??-如果手动触发,所有自动注入都能正常工作吗?)
答案 0 :(得分:0)
JmsItemReader
用于从Jms队列中读取实际数据(项目)。因此,用它来启动工作是不够的。
您要找的实际上是JobLaunchingMessageHandler
,可以将其配置为收听JobLaunchRequest
,并相应地启动作业。
您可以在参考文档的Launching Batch Jobs through Messages部分中找到更多详细信息和代码示例。
希望这会有所帮助。