您已经尝试过 Spring Workflow 了吗?

发布于 2024-07-08 13:54:20 字数 216 浏览 7 评论 0原文

Spring Workflow 现已发布。

  • 你试过了吗? 适合什么样的场景?
  • 您的印象如何? 您认为它与其他工作流程库相比如何?
  • 找到任何好的文档或教程吗?

Spring Workflow has now been published.

  • Have you tried it yet? For what kind of scenario?
  • What is your impression? How do you find it stacks up against other workflow libs?
  • Found any good docs or tutorials?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

还如梦归 2024-07-15 13:54:20

好吧,忽略我在上一篇文章中显示的信念,我确实尝试了 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());
    }
}

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

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

OK, ignoring my beliefs shown in my previous post I did try spring workflow, only to find out that I was right. Getting the sources and building is not that hard, they use svn, ant and ivy as repository manager.

Making it work is another story. I took the sample sources, an placed them in a new project. At this poit I had to rename all imports since they were built for test eviron ment i guess. This is easy with help from the IDE in classes, but you also have to rename them in spring's XML context files. Further on, it starts to look bad once you try to run the project. First you get a NullPointerException, because of the following lines :

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

I simply created a new HashMap, rebuit the project and gave it another try. Now it will fail at an Assert if you did not include spring security. There is a hidded dependency (because reflection is used). Added the lib. and ran it again. I got another Assert fail, and when I looked that up I realised the samples are not even supposed to work. A method intentionally returns null and it shouldn't. I went to the interface, of cource, no javadoc, but i suspected what it should return from it's name, so i placed a hardcode value. At this point it biulds and it runs but it does not work, it's supposed to (at least i think it is, there are no docs.) do a transition, but the flow remains unchanged after the performTransition call.

So there you have it. Dont try it just yet.

雾里花 2024-07-15 13:54:20

我认为现在尝试还不是一个好主意,这只是一个证明这个概念的版本。 首先,您必须手动构建您的库,然后,学习如何在没有示例或文档的情况下使用它,仅使用很少记录的代码和测试代码。 当你对它有了想法时,你就会意识到它现在做不了多少事情。

I don't think it's a good idea to try it yet, it's just a release to proove the concept. First of all you have to manually build your library, after that, leran how to use it with no example or documentation, just using the scarcely documented code and test code. And when you have an idea about it you realise it can't do very mutch right now.

柳絮泡泡 2024-07-15 13:54:20

parleys.com 上有一个演示:

Spring & Spring MVC 生产环境

Spring Workflow 作者提供的

:cakesolutions.net您可以在 http://www.ukinvest.gov.uk/

There is a presentation on parleys.com:

Spring & Spring MVC in production

from authors of spring workflow: cakesolutions.net

You might take a look at the presentation to find out how they use it in production at http://www.ukinvest.gov.uk/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文