ScheduleStateManager実装サービス jp.ossc.nimbus.service.scheduler.DatabaseScheduleStateManagerService

jp.ossc.nimbus.service.scheduler.DatabaseScheduleStateManagerServiceは、データベースを使ってスケジュールの状態を保存するScheduleStateManager実装サービスです。

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

下位サービスインタフェース用途
jp.ossc.nimbus.service.connection.ConnectionFactoryJDBCコネクションを取得する。

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

  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. <!-- スケジュール状態管理サービス -->
  8. <service name="ScheduleStateManager"
  9. code="jp.ossc.nimbus.service.scheduler.DatabaseScheduleStateManagerService">
  10. <!-- JDBCコネクションファクトリサービスのサービス名を設定する -->
  11. <attribute name="ConnectionFactoryServiceName">ConnectionFactory</attribute>
  12. <!-- スケジュール状態テーブルのINSERT SQLを設定する -->
  13. <attribute name="ScheduleStateInsertQuery">insert into SCHEDULE_STATE(NAME, STATE, UPDATETIME) values(?, ?, ?)</attribute>
  14. <!-- スケジュール状態テーブルのSELECT SQLを設定する -->
  15. <attribute name="ScheduleStateSelectQuery">select STATE from SCHEDULE_STATE where NAME = ?</attribute>
  16. <!-- スケジュール状態テーブルのUPDATE SQLを設定する -->
  17. <attribute name="ScheduleStateUpdateQuery">update SCHEDULE_STATE set STATE = ?, UPDATETIME = ? where NAME = ?</attribute>
  18. <!-- スケジュール状態テーブルのDELETE SQLを設定する -->
  19. <attribute name="ScheduleStateDeleteQuery">delete from SCHEDULE_STATE where NAME = ?</attribute>
  20. <!-- スケジュール状態テーブルのTRUNCATE SQLを設定する -->
  21. <attribute name="ScheduleStateTruncateQuery">truncate table SCHEDULE_STATE</attribute>
  22. <depends>ConnectionFactory</depends>
  23. </service>
  24. <!-- JDBCドライバ経由でConnectionを取得するConnectionFactoryサービス -->
  25. <service name="ConnectionFactory"
  26. code="jp.ossc.nimbus.service.connection.JDBCConnectionFactoryService">
  27. <attribute name="DriverName">org.hsqldb.jdbcDriver</attribute>
  28. <attribute name="ConnectionURL">jdbc:hsqldb:./localDB</attribute>
  29. <attribute name="UserName">sa</attribute>
  30. <attribute name="Password"></attribute>
  31. </service>
  32. </manager>
  33. </server>


スケジューラ/簡易スケジューラ/ScheduleStateManager