PEXA Serviceについて

チュートリアル

テストツール

定義ファイル

基本プロセス

拡張プロセス

Condition

セッション

モデル

リファレンス

環境設定

目次

  1. はじめに
  2. ファイルの格納場所
  3. ServiceSchedule定義ファイルの全体構成
  4. service_infosセクション
  5. ServiceSchedule定義ファイルのサンプル


はじめに

PEXA3以降の機能です。
このドキュメントは、PEXAサービスフレームワークで使用するServiceSchedule定義ファイルについて解説する物です。

ServiceSchedule定義ファイルは、アプリケーションサーバーのスケジューラ機能によって自動的に呼び出されるサービスを定義する物です。
バッチ的に一定間隔で実行したいサービスがある場合はここでそれを記述します。 なお、この機能はServiceClientファイルと組み合わせることで実行されます。

記述形式はPEXA独自のプロパティ形式となります。このプロパティ形式の書式については、リファレンスを参照して下さい。


ファイルの格納場所

ServiceSchedule定義ファイルは、ファイル名およびファイル格納場所が固定されています。
以下のファイル名で格納してください。

    src/schedule/service_schedule.table
また、このファイル自体はAPサーバー用のスケジューラーモジュールをビルドする際に参照されるパタメータファイルになるため、 このファイル自体がどこかにコピーされてエンジンが読み込むわけではありません。build配下にコピーされる他の成果物と扱いが異なりますので注意してください。

なお、このファイルからスケジューラーモジュールをビルドするには、build-app.xmlのbuild-scheduleターゲットを実行してください。


ServiceSchedule定義ファイルの全体構成

ServiceSchedule定義ファイルの全体構成について、以下に示します。
service_infosセクションの中に、スケジュール実行するサービスの情報を列挙します。

それぞれのセクションの詳細については、以降で解説します。

全体書式 :

provider宣言部(1)
service_infosセクション(1)
	
記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)

記述例 :

;---------------------------------------------------------------
; Release-Date:     $Date:: 2011-07-29 22:11:07 #$
; Release-Version:  $Revision: 6561 $
; Author:           $Author: morishita $
; First-Created-On: 2007/04/16
; First-Created-By: Daisuke Morishita
;---------------------------------------------------------------
; 識別情報セクション
;---------------------------------------------------------------
provider	pexa.jboss.share.service.util.JBossServiceSchedule
;--------------------------------------------------------------
; スケジュール実行されるサービスの情報
;--------------------------------------------------------------
[service_infos
    サービス呼出定義1
    ,
    サービス呼出定義2
    ,
    サービス呼出定義3
        :
        :
        :
]

説明 :
スケジュールプロバイダの実装クラス等を最初に指定し、 その後にservice_infosセクションを記述してスケジュール実行するサービスの情報を列挙します。

属性値 :
ここでの属性値は以下の通り。

provider宣言部

記述例 :

provider	pexa.jboss.share.service.util.JBossServiceSchedule

説明 :
必須です。
スケジュールプロバイダ実装クラス名を指定します。
これは、使用するアプリケーションサーバーによって異なります。
現状ではJBoss向けのクラスがPEXAで提供されています。



service_infosセクション

全体書式 :

[service_infos
    name宣言部(1)
    period宣言部(1)
    path宣言部(1)
    noexec宣言部(1)
    ,
	.
	.
	.
]
	
記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)

記述例 :

;--------------------------------------------------------------
; スケジュール実行されるサービスの情報
;--------------------------------------------------------------
[service_infos
    ;----------------------------------------------------------
    ; アラート生成(100秒毎)
    ;----------------------------------------------------------
    name	CreateAlert
    period	100000
    path	env/schedule/CreateAlert.prop
    noexec	2
    ,
    ;----------------------------------------------------------
    ; リマインダ生成(200秒毎)
    ;----------------------------------------------------------
    name	CreateReminder
    period	200000
    path	env/schedule/CreateReminder.prop
    noexec	2
]

説明 :
定期的に実行したいサービスの呼び出し定義を記述するセクションです。
サービスを呼び出すためのServiceClientファイルや、実行間隔などをここで指定します。

複数の場合はカンマでそれぞれの設定ブロックを区切って列挙します。

一つ一つの起動設定ブロックには、以下のパラメータを記述して下さい。

name宣言部

記述例 :

name	CreateAlert

説明 :
必須です。
スケジュール実行タスクに対して任意のユニークな名称をここで指定して下さい。


period宣言部

記述例 :

period	100000

説明 :
必須です。
タスクの実行間隔をミリ秒単位でここで指定します。


path宣言部

記述例 :

path	env/schedule/CreateReminder.prop

説明 :
必須です。
サービスを起動するためのServiceClientファイルのパスを指定します。


noexec宣言部

記述例 :

noexec	2

説明 :
必須です。
アプリケーションサーバーによっては、スケジューラー起動がサーバー起動と同時に開始されてしまう場合があるので、 全ての初期化が完了する前に実行されてエラーになる場合があります。 そのような場合は、このパラメータで一定回数の呼出までは処理を実行しないという指定ができます。

サービスのスケジュール実行の開始を遅延させることがここでできるということになります。



ServiceSchedule定義ファイルのサンプル

;---------------------------------------------------------------
; Release-Date:     $Date:: 2011-07-29 22:11:07 #$
; Release-Version:  $Revision: 6561 $
; Author:           $Author: morishita $
; First-Created-On: 2007/04/16
; First-Created-By: Daisuke Morishita
;---------------------------------------------------------------
; 識別情報セクション
;---------------------------------------------------------------
provider	pexa.jboss.share.service.util.JBossServiceSchedule
;--------------------------------------------------------------
; スケジュール実行されるサービスの情報
;--------------------------------------------------------------
[service_infos
    ;----------------------------------------------------------
    ; アラート生成(100秒毎)
    ;----------------------------------------------------------
    name	CreateAlert
    period	100000
    path	env/schedule/CreateAlert.prop
    noexec	2
    ,
    ;----------------------------------------------------------
    ; リマインダ生成(200秒毎)
    ;----------------------------------------------------------
    name	CreateReminder
    period	200000
    path	env/schedule/CreateReminder.prop
    noexec	2
]


更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2011-07-29 22:11:07 #$
  • バージョン : $Revision: 6561 $



Copyright © 2006, Atrris Corporation