Java 工作流引擎用例
我们遇到了一个问题,数据库表必须更新特定实体的状态。目前,它的所有Java代码都带有大量的if条件和状态更新。我一直在考虑使用工作流引擎,因为将来可能会有多个流。在这里使用工作流引擎是不是太过分了。。。你的底线在哪里?这取决于用例的复杂性 在一个简单的用例中,我们有一个数据库列,由多个消费者为订单生命周期的每个阶段更新。这是通过web服务调用数据库来完成的。 简单的生命周期从确认>接受/拒绝>完成>关闭。所有这些都在同一列的同一个表中。这是在没有工作流的java类中执行的 工作流引擎适用于更复杂的用例,该用例涉及对多个数据提供者的操作,例如:数据库或内容管理或文档管理或搜索引擎、多个并行过程、基于前一步的成功/失败进行分叉、在某一步发送电子邮件、离线错误警报Java 工作流引擎用例,java,workflow,Java,Workflow,我们遇到了一个问题,数据库表必须更新特定实体的状态。目前,它的所有Java代码都带有大量的if条件和状态更新。我一直在考虑使用工作流引擎,因为将来可能会有多个流。在这里使用工作流引擎是不是太过分了。。。你的底线在哪里?这取决于用例的复杂性 在一个简单的用例中,我们有一个数据库列,由多个消费者为订单生命周期的每个阶段更新。这是通过web服务调用数据库来完成的。 简单的生命周期从确认>接受/拒绝>完成>关闭。所有这些都在同一列的同一个表中。这是在没有工作流的java类中执行的 工作流引擎适用于更复杂
你可以看到实现。
我认为你应该考虑一个工作流引擎。工作流应该与应用程序逻辑分离
原因:也许规则引擎更适合这种情况。可能是一个很好的候选人。如果您使用的是Spring,那么这是一篇关于如何实现您的需求的好文章
有一项要求,即每个州都应该能够过渡到其他州。因此,现在对于每个新状态,我必须添加转换到每个现有状态的操作,并且每个现有状态都必须有移动到新状态的操作。是否有以非重复方式处理这些问题的工作流解决方案?@ktaylorjohn-当然有一个阶段是退出。伊卡洛斯,你是不是和wwu论坛中的伊卡洛斯一样?谢谢。您可能知道关于Drools与Spring集成的任何好资源吗?在这里找到->Drool与Spring。谢谢