ScheduleMaker実装サービス jp.ossc.nimbus.service.scheduler2.BeanFlowConditionScheduleMakerService

jp.ossc.nimbus.service.scheduler2.BeanFlowConditionScheduleMakerServiceは、スケジュールを作成する条件判断を業務フローに委譲するScheduleMaker実装サービスです。

業務フローの戻り値が、trueの場合は、スケジュールを作成します。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerFactory業務フローを呼び出す。

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- ScheduleMakerサービス -->
  8. <service name="SecondBusinessDayScheduleMaker"
  9. code="jp.ossc.nimbus.service.scheduler2.BeanFlowConditionScheduleMakerService">
  10. <!-- 業務フロー名名を設定する -->
  11. <attribute name="FlowName">schedule/condition/IsSecondBusinessDay</attribute>
  12. <!-- BeanFlowInvokerFactoryサービスのサービス名を設定する -->
  13. <attribute name="BeanFlowInvokerFactoryServiceName">#BeanFlowInvokerFactory</attribute>
  14. <depends>BeanFlowInvokerFactory</depends>
  15. </service>
  16. <!-- BeanFlowInvokerを生成するBeanFlowInvokerFactoryサービス -->
  17. <service name="BeanFlowInvokerFactory"
  18. code="jp.ossc.nimbus.service.beancontrol.DefaultBeanFlowInvokerFactoryService">
  19. <attribute name="DirPaths">flows</attribute>
  20. <attribute name="BeanFlowInvokerAccessClass">jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2</attribute>
  21. <attribute name="Validate">true</attribute>
  22. </service>
  23. <!-- ScheduleManagerサービス -->
  24. <service name="ScheduleManager"
  25. code="jp.ossc.nimbus.service.scheduler2.DefaultScheduleManagerService">
  26. <attribute name="ScheduleMasterServiceNames">
  27. #ScheduleMaster1
  28. #ScheduleMaster2
  29. </attribute>
  30. <attribute name="ScheduleMakerTypeMapping">
  31. 第二営業日=#SecondBusinessDayScheduleMaker
  32. </attribute>
  33. <attribute name="PersistDir">./schedule</attribute>
  34. <depends>SecondBusinessDayScheduleMaker</depends>
  35. <depends>
  36. <!-- スケジュールマスタ1
  37. 08:00:00にFlow1を実行するスケジュール
  38. -->
  39. <service name="ScheduleMaster1"
  40. code="jp.ossc.nimbus.service.scheduler2.DefaultScheduleMaster">
  41. <attribute name="Id">Schedule1</attribute>
  42. <attribute name="TaskName">Flow1</attribute>
  43. <attribute name="StartTime">// 08:00:00 000</attribute>
  44. <attribute name="ScheduleType">第二営業日</attribute>
  45. </service>
  46. </depends>
  47. <depends>
  48. <!-- スケジュールマスタ2
  49. スケジュールマスタ1の終了を待って、08:00:00にFlow2を実行するスケジュール
  50. -->
  51. <service name="ScheduleMaster2"
  52. code="jp.ossc.nimbus.service.scheduler2.DefaultScheduleMaster">
  53. <attribute name="Id">Schedule2</attribute>
  54. <attribute name="TaskName">Flow2</attribute>
  55. <attribute name="StartTime">// 08:00:00 000</attribute>
  56. <attribute name="Input">100</attribute>
  57. <attribute name="Depends">Schedule1</attribute>
  58. <attribute name="ScheduleType">毎日</attribute>
  59. </service>
  60. </depends>
  61. </service>
  62. </manager>
  63. </server>


スケジューラ/高機能スケジューラ/ScheduleMaker