JBatch (Payara 4.1.144) - khasunuma/Payara GitHub Wiki

目次

1. 概要

このページでは、Payara 4.1.144 で導入された新しい JBatch の新機能の使い方について説明します。

2. ドキュメント規約

${Product-Root} - Payara Server ディレクトリのルートを表します。具体的には Payara をインストールした場所を参照します。
${Domain} - Payara ドメイン名への参照を表します。

3. スキーマ名の定義

このリリースの Payara にはバッチ・テーブルを保持するデータベース・スキーマ名を定義する機能が含まれています。これは管理コンソール、domain.xml ファイルまたは asadmin コマンドによって設定可能です。

3.1 管理コンソールからのスキーマ名の定義

  • インスタンスまたはクラスターをクリックして構成ページに移動します。
  • バッチ タブを選択し、さらに 構成 サブタブをクリックします。
  • Database Schema Name フィールドに値を入力します。
  • 変更を保存します。

3.2 asadmin を用いたスキーマ名の定義

設定には set-batch-runtime-configuration コマンドを使用します。 コマンドは特定の Executor またはデータソースのルックアップ名を要求しますので、-x or -d オプションを用いて設定します。 コマンドはデフォルトで管理サーバーのインスタンス (server) を対象とするため、異なるインスタンスまたはクラスターを対象とするには --target オプションを使用します。
スキーマ名を設定するには --schemaName オプションまたはショートカット -n を使用します。
サンプルを以下に示します:

asadmin set-batch-runtime-configuration -d jdbc/__default --target cluster1 -n test

このコマンドは管理サーバーがポート 4848 で待機していることを想定しいます。もし異なる場合は -p オプションでポートを指定します。以下に例を示します:
asadmin -p 5048 set-batch-runtime-configuration -d jdbc/__default --target cluster1 -n test

3.3 domain.xml ファイルにおけるスキーマ名の定義

  • ドメインの domain.xml ファイルを編集可能な状態で開きます。
    • ${Product_Root}/glassfish/domains/${Domain}/config/ 以下を探します。
  • <batch-runtime-configuration> タグを <config> tag (e.g. <config name="server-config"> for the Admin Server) タグ以下で見つけたら、次のようにスキーマ名を入力します:
    <batch-runtime-configuration schema-name="testSchemaName"></batch-runtime-configuration>
  • Note - もしドメインの domain.xml ファイルを編集するより前に一度もドメインを起動していない場合、batch-runtime-configuration タグは作成されていませんのでユーザー自身で追加する必要があります。

<a name-"4-altered-asadmin-commands">4. 代替の asadmin コマンド

4.1 set-batch-runtime-configuration

バッチ・ランタイムの構成を設定します。このコマンドを使用するには管理サーバーが起動している必要があります。

Option Shortcut Description Default Mandatory
--target The instance or cluster to set the JBatch configuration of. server No
--datasourcelookupname -d Sets the name of the datasource to lookup and use. Yes, or specify executorServiceLookupName
--executorservicelookupname -x Sets the name of the executor service to lookup and use. Yes, or specify datasourceLookupName
--schemaName -n Sets the name of the database schema that holds the batch tables. APP No

4.2 制限事項

JBatch は内部的にはスキーマ当たり 1 つを超えるバッチ・テーブルを作成することはありません。そしてスキーマに prefixes と suffixes がテーブル名に含まれる JBatch テーブルのセットが存在し、 Glassfish のバッチ構成で、異なる名前のバッチ・テーブルを使用する目的で (例えばテーブルの prefix と suffix を設定しない) 同じスキーマを指定している場合には、Jbatch の初期化フェーズ実行中に、JBatch はまだ存在しない場合にはこれらのテーブルの作成を試みます。しかし、テーブルの制約名が同一スキーマ上にある既存のバッチ・テーブルに既に存在している場合には、テーブルの作成は失敗します。1 つの場合はもちろん異なる名前の中から適切なバッチ・スキーマ・オブジェクトを作成する SQL スクリプトが実行されます。

⚠️ **GitHub.com Fallback** ⚠️