ActivitiからJavaコードを呼び出すのに最適な方法は?
質問
Javaサービスを使用して、またはGroovyスクリプトを使用してActivitiでJavaコードを呼び出すことができます。これら2つの方法の違いは何ですか?そして、相対的な利点と欠点は何ですか?
edit -
Groovyスクリプトはより柔軟ですが、追加の依存関係を追加します。
これら2つのアプローチの他の効果、アプリケーションの安定性、多数の並列プロセスなどで起こるものなどの他の影響を説明することができます。
解決
Javaサービスクラスを使用していくつかの良い経験を持っています。
Activiti Engineは、各JavaServiceクラスを一度だけインスタンス化し、次回は他のワークフローアクションによって必要なときに再利用します。メモリフットプリントは非常に小さくなります。 これがスクリプトタスクでどのように行われるのかわかりません。私は彼らが「まとめ」/毎回解釈されていると思います。
2点目は、基本的な実装をすでに提供するJavaServiceクラスの抽象実装を作成できることを説明することです。私はこれがスクリプトでどのように機能するかどうかはわかりません。
最後のポイントコンパイル時のコード検証であると思います。スクリプトを使用するときにこれがどのように処理されるかがわかりません...
私の答えが少し助けを願っています...
他のヒント
これが良い答えかどうかわからない、しかし私がそれを考える方法。サービスタスククラスは、実行メソッドがプロセス実行中に呼び出されたものであるJavaDelegateインターフェイスを実装する必要があります。
スクリプトタスクは、設定されている「Bean」を参照して、必要な方法を呼び出すことができるという点で、柔軟性を高めます。
私が援助するように、これは完全ではないかもしれませんが、私がそれを考える方法です。