从JMS消息接收到工作

  • 本文关键字:工作 JMS 消息 jms jbatch
  • 更新时间 :
  • 英文 :


使用wildfly 15和只有javaee(否弹簧),我需要按顺序从JMS队列中食用消息,并为每条消息创建一个新的消息,使用JBATCH,sequence sequence,没有作业重叠的情况。

例如:

JMS队列: -> msgc-> msgb-> msgb-> msga

jbatch

  • 关于接收MSGC,创建JobC,运行JobC
  • 等待JobC结束,观看JMS队列,在接收MSGB上,创建JobB,运行JobB
  • 等待JobB结束,观看JMS队列,在接收MSGA上,创建Joba,运行JobB

可以实现这一目标?

并行处理消息或正确的序列是JMS客户端中的某些标准行为,您可以简单地配置正确完成。这就是为什么你有队列的原因。只需确保您只有一条消息驱动的bean可以确保您有一个过程,并且没有并行运行。

如果将任务移交给批处理API,则将处理一组不同的线程,现在您需要手动确保一个工作在下一个启动之前终止。因此,您的消息驱动的Bean必须进行轮询并等到执行批处理。

您为什么要这样做,因为它只是使您的生活更加复杂?我相信,您仍然可以从批处理步骤的简单编排,重新启动功能或某些平行执行中受益,您必须在消息驱动的bean中介绍。

最新更新