2014-02-26 92 views
0

我们可以使用Java服务或groovy脚本在activiti中调用java代码。这两种方式有什么区别?什么是相对的优点和缺点?从activiti调用java代码的最佳方式是什么?

编辑 -

Groovy脚本更灵活,但增加了一个额外的依赖。

任何人能解释这两种方法,如性能,应用的稳定性,有大量并行处理等

回答

1

我有一些很好的使用Java服务类的经验。

Activiti Engine将仅实例化每个JavaService类一次,并在下一次需要其他工作流操作时重用它。内存占用将非常小。 我不知道这是如何完成脚本任务;我想他们会被一次又一次地“编译”/解释,这可能会更慢,并且/或者需要更多的资源和内存。

第二点是提及您可以为已经提供基本实现的JavaService类创建抽象实现。我真的不知道这将如何在脚本上工作。

我想到的最后一点是编译期间的代码验证。在那里,我不知道使用脚本时,该如何处理?

希望我的回答可以帮助有点...

+0

谢谢。那是我正在寻找的确切答案类型。 我在脚本上使用了服务类,并且知道它们更好。但我没有具体的理由。 –

1

不知道这一个很好的答案还是不会怎么样的其他影响,但我想到它的方式。 Service Task类必须实现JavaDelegate接口,其中执行方法是在进程执行期间调用的。

脚本任务给了我们更多的灵活性,我们可以引用任何配置的“bean”并调用我们想要的任何方法。

就像我援助,这可能不完整,但是我认为它的方式。

+0

是的,这就是他们的工作方式。脚本给了我们更多的灵活性,但实际上它增加了一个额外的依赖。你能解释这两种方法的其他影响吗? (性能,稳定性等)谢谢你的回答。 –

+0

把groovy放在你的XML放置逻辑中 - 这个逻辑仅用于处理这个过程本身吗?服务通常是一个明确的逻辑障碍(例如,用您的应用程序进行测试)。 groovy(没有@CompileStatic)增加了轻微的性能打击(你永远不会注意到它)。 groovy比java更具表现力 - 但是如果没有人在你的团队中理解它,为什么还要麻烦呢,无论如何,每一行看起来都像java一样? – cfrick

相关问题