你有没有尝试过Spring Workflow?

Yon*_*man 12 java workflow spring

Spring Workflow现已发布.

  • 你试过了吗?对于什么样的场景?
  • 你有什么印象?你如何发现它与其他工作流库相叠加?
  • 找到任何好的文档或教程?

Sen*_*tar 4

好吧,忽略我在上一篇文章中显示的信念,我确实尝试了 Spring 工作流程,结果发现我是对的。获取源代码和构建并不难,他们使用 svn、ant 和 ivy 作为存储库管理器。

让它发挥作用则是另一回事了。我获取了示例源代码,并将它们放入一个新项目中。此时我必须重命名所有导入,因为我猜它们是为测试环境而构建的。在类中 IDE 的帮助下这很容易,但您还必须在 spring 的 XML 上下文文件中重命名它们。此外,一旦您尝试运行该项目,它就开始看起来很糟糕。首先,由于以下几行,您会收到 NullPointerException:

public final void afterPropertiesSet() throws Exception {
    if (this.flowInstanceDescriptorPersisters == null) {
        this.flowInstanceDescriptorPersisters.put(DEFAULT_PERSISTER, new DefaultFlowInstanceDescriptorPersister());
    }
}
Run Code Online (Sandbox Code Playgroud)

我只是创建了一个新的 HashMap,重新启动该项目并再次尝试。现在,如果您不包含 Spring Security,它将在断言时失败。存在隐藏的依赖关系(因为使用了反射)。添加了库。并再次运行它。我再次断言失败,当我查找时,我意识到这些示例甚至不应该工作。方法故意返回 null,但它不应该返回 null。我去了界面,当然,没有javadoc,但我怀疑它应该从它的名称返回什么,所以我放置了一个硬编码值。此时它会生成并运行,但不起作用,它应该(至少我认为是这样,没有文档。)进行转换,但在执行Transition调用后流程保持不变。

所以你有它。暂时不要尝试。