BeanFlowInvoker実装クラス jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl

jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImplは、BeanFlowInvokerデフォルト実装クラスです。
バッチ由来のJCL(Job Control Language)ライクな実装で、処理ステップ毎にステートフルな業務ロジックBeanに設定やデータを引き渡し、処理を実行しその結果を次の処理ステップに引き渡す単純なウォーターフロー処理実装です。
jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2が開発されたため、現在では非推奨です。また、非同期呼び出し系の機能は、実装していません。

XMLで記述した業務フローを読み込み、アプリケーションに提供します。

以下に簡単な業務フロー定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <flows>
  3. <!-- 業務フローを宣言する -->
  4. <flow name="sample">
  5. <!-- 使用するリソースを宣言する -->
  6. <resource name="Connection" service="Nimbus#JDBCResourceFactory" key=""/>
  7. <!-- 処理ステップ1 -->
  8. <!-- className属性 ステップ処理対象のクラス名 -->
  9. <!-- type属性 ステップ処理対象クラスのインスタンスの入手方法:生成 -->
  10. <!-- methodName属性 ステップ処理対象クラスのインスタンスに対する処理実行メソッド名 -->
  11. <!-- getterName属性 ステップ処理対象クラスのインスタンスに対する処理結果取得メソッド名:thisは、ステップ処理対象クラスのインスタンス自体を示す予約語 -->
  12. <step name="step1"
  13. className="sample.SampleBean"
  14. type="new"
  15. methodName="search"
  16. getterName="this">
  17. <!-- リソースをsetterでインジェクションする -->
  18. <attribute name="Connection" type="resource" value="Connection"/>
  19. <!-- 業務フローへの入力引数をsetterでインジェクションする -->
  20. <attribute name="Condition" type="input"/>
  21. </step>
  22. <!-- 処理ステップ2 -->
  23. <!-- className属性 ステップ処理対象のクラス名 -->
  24. <!-- type属性 ステップ処理対象クラスのインスタンスの入手方法:過去ステップstep1の結果を参照 -->
  25. <!-- methodName属性 ステップ処理対象クラスのインスタンスに対する処理実行メソッド名 -->
  26. <!-- getterName属性 ステップ処理対象クラスのインスタンスに対する処理結果取得メソッド名 -->
  27. <step name="step2"
  28. className="sample.SampleBean"
  29. type="step.step1"
  30. methodName="calculate"
  31. getterName="getResult">
  32. </step>
  33. </flow>
  34. </flows>


業務フロー/BeanFlowInvoker