ジョブ・スケジューラーのシステム・プログラミング・インターフェース (SPI)

SPI を使用して、ユーザーが割り当てられたグループのリストの管理、 ジョブに対するユーザー処置の制御、ログ行書き込みの抑制、およびインストール済み環境固有の監査ストリング検証ルールの提供を行います。

SPI プロパティー・ファイル

SPI クラスは、 $WAS_HOME/lib/classes またはジョブ・スケジューラーの共有ライブラリーに追加することができます。 configCGSharedLib.py wsadmin スクリプトを使用して、共有ライブラリーをジョブ・スケジューラーに割り当てます。

表 1. プロパティー・ファイルの属性. 次の表に、プロパティー・ファイルとその属性を示します。
プロパティー・ファイル 属性
名前 xd.spi.properties
ロケーション app_server_root/properties
フォーマット <SPI name>=<SPI implementation class>

グループ・メンバーシップ・フィルター SPI

グループ・メンバーシップ・フィルターのシステム・プログラミング・インターフェース (SPI) を使用して、ユーザーが割り当てられるグループのリストを管理します。次の 2 つの方法で SPI を使用することができます。
  • 統合リポジトリーが戻したグループのリストを変更します。
  • 統合リポジトリーの代替として機能します。 この場合、SPI は、バッチ が使用するユーザーおよびグループ・メンバーシップ情報のソースです。

SPI は、ユーザーがジョブ管理コンソールにログオンするたび、および、ジョブ操作が実行されるたびに呼び出されます。

表 2. SPI 名. 次の表に、SPI の名前の一覧を示します。
名前
group.membership.manager

ジョブ・ログ・フィルター SPI

ジョブ・ログ・フィルター SPI を使用して、バッチ・アプリケーションからログにログ行を書き込まないようにします。 サーバー・ログまたはジョブ・ログ、あるいは両タイプのログに対して、ログ行を書き込まないようにすることができます。 アプリケーションのログ行をオーバーライドすることも可能です。

getName() メソッドおよび processJobLogLine() メソッドを実装して、com.ibm.wsspi.batch.joblog.JobLogFilter インターフェースを実装します。 getName() メソッドは、すべての SPI 実装に必要です。 processJobLogLine() メソッドは、ジョブ・ログ行のどこへの書き込みを抑制するかを示す JobLogAction オブジェクトを戻します。 アプリケーションのログ行は、JobLogFilterListener オブジェクトでオーバーライドすることができます。 更新または置換されたログ行とジョブ ID を指定して、JobLogFilterListener オブジェクトを呼び出します。 提供された JobLogAction オブジェクトに基づいて、これらがログ・ファイルに書き込まれます。

表 3. SPI 名. 次の表に、SPI の名前の一覧を示します。
名前
spi.job.log.filter

ジョブ・ログ・フィルター SPI の例

package com.ibm.websphere.samples;
import com.ibm.websphere.grid.spi.SPI;
import com.ibm.wsspi.batch.joblog.JobLogFilter;
import com.ibm.wsspi.batch.joblog.JobLogFilterListener;
public class SampleJobLogFilter extends SPI implements JobLogFilter {
/**
* Input:
* jobid
* logline - line about to be logged
* JobLogFilterListener - call back to override logline
* Output:
* JobLogAction:
* SUPPRESS - do not log this line
* JOBLOGONLY - log only to job log (not server log)
* SERVERLOGONLY - log only to server log (not job log)
* JOBLOGSERVERLOG - log to both job log and server log
*(this is the default action)
*/
public JobLogAction processJobLogLine(
String jobid,
String logline,
JobLogFilterListener filterListener) {
filterListener.setLogLine(jobid, "MyCompanyName:" + logline);
return JobLogAction.JOBLOGONLY;
}
/**
* Required for all Batch SPI implementations
**/
public String getName() {
return SimpleCIJobLogFilter.class.getName();
}
}

processJobLogLine() メソッドは、アプリケーション・ログ行をシステム・ログに書き込まないようにする JobLogAction オブジェクトを戻します。 JobLogFilterListener オブジェクトを呼び出すと、ジョブ・ログ行に標準テキストが付加されます。

app_server_root/properties/xd.spi.properties ファイルに この実装クラスへの参照を含めることによって、サーバーがこのジョブ・ログ・フィルター SPI をロードするようにします。
spi.job.log.filter=com.ibm.websphere.ci.samples.SimpleCIJobLogFilter
必ず、 サーバー・レベルの共有ライブラリーを通じて実装クラスがサーバーから使用可能であるようにしてください。

ジョブ操作許可 SPI

ジョブ操作許可 SPI により、ジョブに対するユーザー処置を管理者がさらに制御することができます。 操作を許可または拒否することによって、個々のユーザー処置のアクセス制御を詳細に行えます。

SPI は、構成済みジョブ・セキュリティー・ポリシーの適用後にのみ、呼び出してください。 SPI は、操作を実行する権限をユーザーが持っている場合にのみ呼び出されます。 システムが操作を許可した場合、SPI はシステムをオーバーライドすることができます。 ただし、システムが操作を拒否すると、SPI はシステムをオーバーライドできません。 そのため、JobOperationAuthorizer は、ユーザーが実行権限を持つ操作の範囲を制限する場合にのみ機能します。 SPI は、ユーザーが実行権限を持つ操作の範囲を増やすことはできません。

表 4. SPI 名. 次の表に、SPI の名前の一覧を示します。
名前
job.operation.authorizer

監査ストリング検証 SPI

監査ストリング検証 SPI により、インストール済み環境固有の監査ストリング検証ルールを提供することができます。 検証ルールを使用してローカルの監査要件を適用し、ユーザーが正常に保存を実行できるようにガイドするカスタム・エラー・メッセージを表示できます。

監査ストリング・バリデーターが構成およびインストールされている場合、 リポジトリー・ジョブがいずれかの使用可能なインターフェース (ジョブ管理コンソール、コマンド行インターフェース、または API など) を通じて保存されるたびに、これが駆動されます。

監査ストリング・バリデーターは駆動されて、リポジトリー・ジョブの名前、現行ユーザー、xJCL、監査ストリングの値、および AuditStringValidatorCallBack メソッドを渡されます。 監査ストリング・バリデーターはその後、監査ストリングが有効であるかどうかを判断できます。 監査ストリングが有効の場合、監査ストリング・バリデーターは true を戻します。 監査ストリングが無効の場合、監査ストリング・バリデーターは false を戻します。 監査ストリング・バリデーターが false を戻したら、 AuditStringValidatorCallBack メソッドによりエラー・メッセージのテキストを指定することができます。

表 5. SPI 名. 次の表に、SPI の名前の一覧を示します。
名前
audit.string.validator

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rgrid_cgspi
ファイル名:rgrid_cgspi.html