ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

4.21.1 データベースの環境設定

バッチジョブでは、ジョブリポジトリーとしてデータベースを使用し、バッチジョブの実行情報をジョブリポジトリーに格納します。以下のデータベースがジョブリポジトリーとして利用可能です。

以下にジョブリポジトリーとして使用するデータベースの環境設定について説明します。

データベースの生成

  1. データベースのテーブルを生成します。
    テーブル生成のDDLファイルが、以下に格納されています。DDLを参照し、テーブルを生成します。DDLファイルでは、テーブルを削除後、生成する処理を実施しています。そのため、初回の実行時には、テーブルの削除処理(DROP TABLE)に失敗しますが、処理として問題ありません。

    [GlassFishのインストールディレクトリー]\glassfish\lib\install\databases

    [GlassFishのインストールディレクトリー]/glassfish/lib/install/databases

    下記の各データベースに対応したDDLファイルを使用してください。

    • Oracle:jsr352-oracle.sql

    • SQL Server:jsr352-mssqlserver.sql

    • Symfoware Server (Postgres)/Enterprise Postgres:jsr352-symfoware-postgres.sql

  2. 接続するユーザーに対して、スキーマのテーブルにアクセスできる権限を設定します。対象となるテーブルについては「4.21.3 データベースの削除」を参照してください。

データベースの接続設定

  1. データベースに対するJDBC接続プールを作成します。
    JDBC接続プールの作成方法については、「10.1.14.1 create-jdbc-connection-poolサブコマンド」を参照してください。

  2. JDBC接続プールに対してJDBCリソースを作成します。
    JDBCリソースの作成方法については、「10.1.14.5 create-jdbc-resourceサブコマンド」を参照してください。

  3. JDBCリソースを設定します。
    JDBCリソースの設定方法については、「10.1.21.4 set-batch-runtime-configurationサブコマンド」を参照してください。

注意

バッチジョブにおけるチャンクステップ処理では、チェックポイント情報の更新処理などにJTAのトランザクション機能を利用しています。

このため、チャンクステップのトランザクション内で別のJDBCデータソースやJMSリソースにアクセスする場合には、グローバルトランザクションに対応するデータソース(XADataSource)を使用する必要があります。

一般的には、グローバルトランザクションにより性能のオーバーヘッドが発生するため、必要性に応じて使用してください。

管理実行サービスの設定

バッチジョブは管理実行サービスが提供するスレッドで動作します。管理実行サービスを作成してから、バッチジョブが使用する管理実行サービスに設定します。デフォルトでは管理実行サービスとして「concurrent/__defaultManagedExecutorService」を使用します。

管理実行サービスの作成については、「4.22.1 管理実行サービス」を参照してください。バッチジョブが使用する管理実行サービスの設定方法については、「10.1.21.4 set-batch-runtime-configurationサブコマンド」を参照してください。

注意

以下の条件の場合、バッチジョブが正しく実行されない場合があります。この場合、GlassFish Serverクラスターごとに異なるデータベース接続ユーザーを使用するか、または、データベース接続ユーザーが同一の場合には同じスキーマを使用してください。

  • ジョブリポジトリーにSQL Serverを使用している。かつ、

  • 複数のGlassFish Serverクラスターでバッチジョブを使用している。かつ、

  • それぞれのGlassFish Serverクラスターにて同一ユーザーでデータベースに接続している。かつ、

  • それぞれのGlassFish Serverクラスターで異なるスキーマ名を使用している。