我们有一个问题,数据库表必须根据特定实体的状态进行更新。目前,它都是带有很多if条件和状态更新的Java代码。我一直在考虑使用工作流引擎,因为将来可能会有多个流。在这里使用工作流引擎是不是有点过头了?你在哪里划清界限?
发布于 2010-06-10 14:39:38
这取决于用例的复杂性。
在一个简单的用例中,我们有一个由多个消费者为订单生命周期中的每个阶段更新的数据库列。这是通过web服务调用数据库来完成的。简单的生命周期从已确认>已接受/已拒绝>已履行>关闭。所有这些都在同一列的同一个表中。这是在没有工作流的java类中执行的。
工作流引擎适用于更复杂的用例,它涉及对多个数据提供者的操作,例如:数据库或内容管理或文档管理或搜索引擎,多个并行进程,基于上一步的成功/失败的分支,在特定步骤发送电子邮件,离线错误警报。
您可以查看Apache ODE来实现这一点。
发布于 2010-06-10 16:33:14
我们有一个问题,数据库表必须更新特定实体的状态。目前,它都是带有很多if条件和状态更新的Java代码。
听起来很准时,不需要在工作流参与者之间编排动作。
也许规则引擎更适合这一点。Drools可能是一个很好的候选者。当X时,Y。
发布于 2010-06-10 20:21:36
如果你使用的是Spring,这是一篇关于如何实现你的需求的好文章
http://www.javaworld.com/javaworld/jw-04-2005/jw-0411-spring.html
https://stackoverflow.com/questions/3012098
复制相似问题