スケジューラーの構成またはトポロジー

スケジューラーは、どのタスクをいつ実行するかに関する情報を保持するのにデータベースを使用します。 アプリケーション・サーバー・トポロジーを変更したり、アプリケーション構成やサーバー構成を変更した場合に、エラーが発生することがあります。 構成またはトポロジーを変更する場合は、この処置がスケジューラーに与える影響を慎重に考慮してください。

EJB タイマー/スケジューラーの構成

トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): EJB タイマー/スケジューラーを構成するときには、デフォルトのスケジューラーでは、機能する環境を迅速に稼働できるように、単純なファイル・ベースの Apache Derby データベースがデフォルトで使用されることに留意してください。Derby データベースを実動用に使用しないでください。また、デフォルトの Derby データベースは、クラスター化されたジョブ・スケジューラー、およびクラスター化されたバッチ・コンテナーをサポートしません。gotcha

セキュリティーの制限

セキュリティーが使用不可になっているときにアプリケーション・サーバーでタスクを作成し、後でセキュリティーを使用可能にする場合、スケジューラーによるタスクの実行で障害が発生する可能性があります。 タスクを作成する場合、アプリケーション・スレッドのセキュリティー・コンテキストが自動的にそのタスクとともに保管されます。 タスクとともにセキュリティーが保管されておらず (スケジューラー・タスクのユーザー許可を参照)、後で、タスクが実行されるサーバーまたはアプリケーション上でセキュリティーを使用可能にする場合は、以下のエラーがログに記録されることがあります。
SECJ0053E: Authorization failed for /UNAUTHENTICATED while invoking (Home)com/ibm/websphere/scheduler
/TaskHandler create:2 securityName: /UNAUTHENTICATED;accessID: UNAUTHENTICATED is not granted any of
the required roles: MySecurityRole

サーバーまたはアプリケーション上でセキュリティーを使用可能にする前に、タスクにマイナスの影響が与えられないかどうかを判断してください。 マイナスの影響がある場合は、Scheduler API または WASScheduler MBean を使用してタスクを 取り消し、セキュリティーを構成した後にタスクを再作成します。

アプリケーション・サーバーのトポロジー変更

スケジューラーは、タスクが作成 されると、TaskHandler、NotificationSink、および UserCalendar ホーム に対して javax.ejb.HomeHandle オブジェクトを保管します。 後でタスクを実行する場合、これらのホーム・ハンドルが再度展開され、Enterprise JavaBeans (EJB) コンポーネント・ホームへの アクセスに使用されます。ホーム・ハンドルがシングル・サーバー環境の EJB を参照する場合、ホーム・ハンドルはそのサーバーとの類縁性を持ちます。 ホーム・ハンドルがクラスターの EJB コンポーネントを参照する場合、ホーム・ハンドルはクラスターとのアフィニティーを持ちます。

ホーム・ハンドルが参照しているアプリケーション・サーバーまたはワークロード管理 (WLM) クラスターが使用不可に なっている場合、スケジューラーはタスクを実行することができず、以下のエラーがログに記録されます。
SCHD0063E: ID 123 のタスクが、例外 {cause of failure} のため、スケジューラー MyScheduler (sched/MyScheduler) で実行できませんでした。

アプリケーション・サーバーをクラスターにアップグレードするか、またはオブジェクト・リクエスト・ブローカー (ORB) ORB_LISTENER_ADDRESS が固定ポート番号に設定されていない場合 (インバウンド・トランスポートの構成を参照)、ホーム・ハンドルに保管されている情報に目的のサーバーを検索するための適切な情報が含まれていないため、タスクも失敗する可能性があります。

スケジューラー・クラスターへのアップグレード

スケジューラー・クラスター (WLM クラスターと混同しないでください) とは、 同じ Java Naming and Directory Interface (JNDI) 名、 Java Database Connectivity (JDBC) データ・ソース、 およびテーブル接頭部を共有するさまざまなアプリケーション・サーバー上のスケジューラー構成の集合のことです。 スタンドアロン・スケジューラーをクラスター・スケジューラーにアップグレードする場合は、アプリケーションと、アプリケーションに必要となるすべての関連リソースが使用可能になっている必要があります。 使用可能になっていない場合、スケジュールされたタスクは実行できず、以下のエラー・メッセージがログに記録されます。
SCHD0103W: アプリケーションまたはモジュールが使用できないため、
スケジューラー MyScheduler (sched/MyScheduler) がタスク 123 を実行できませんでした: MyTaskHandlerEJB

アプリケーションの可用性に関する問題を回避し、最適な結果を得ることができるようにするには、スケジューラー・クラスターで、WLM クラスターで使用されるサーバーと同じサーバーを使用してください。

スケジューラー・テーブルの再利用

トポロジーの変更、開発環境から実稼働環境への移行、または環境に対して制限を加えるような構成変更の場合、別のスケジューラー・テーブルのセットを使用すると、最適な結果を得ることがあります。 慎重に計画を立てることなく、スケジュールされたタスクが前のリリースからのものであるスケジューラー・テーブルを再利用すると、以下のような問題が発生する可能性があります。
  • EJB コンポーネントが、予期しないアプリケーション・サーバー上で実行される。
  • セキュリティー証明書が無効であったり、セキュリティー証明書が欠落しているために、タスクが実行できない。
  • Java Platform, Enterprise Edition (Java EE) コンテキスト情報が無効であったり、 欠落したりしているために、タスクが実行できない。

このような問題の診断は難問で、スケジューラーがインストールおよび構成されているすべてのサーバー上のログを分析する必要があります。 問題のタスクが特定された場合、Scheduler API を使用してタスクを取り消すか、またはテーブルを除去して再作成することができます。


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



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