2010-07-19 38 views
1

我有一个非常简单的流程,一个JMS消息启动一个接收对象列表的进程。一个foreach迭代这个列表并发送一个JMS消息给组件来处理列表中的对象。该组件需要将完成通知发送回流程,以便继续进行。有没有人有任何想法如何实现这一目标?当我收到JMS消息时,如何继续Drools流程?

谢谢。

回答

1

你如何实现发送此消息?使用自定义工作项目节点?我看到两个选项:

  • 如果你总是期待一个结果JMS消息,你可以有你的工作项的处理程序发送JMS消息时,工作项目节点被触发,但仅完成工作项目时预期的结果消息已经到达,这将使流程仅在接收到结果消息时继续进行(例如,您可以将工作项ID作为消息中的某种上下文参数发送,以便在结果发生时知道要完成哪个工作项返回)

  • 如果您还想处理更多意外的JMS消息(不一定是第一个请求JMS消息的结果),那么您可以使用事件节点一个JMS侦听器,它将传入的JMS消息(特定类型的消息)转换为signalEvent(..)调用,然后继续从事件节点转发流。

克里斯

相关问题