ページの先頭行へ戻る
Interstage Business Application Server セットアップガイド
FUJITSU Software

9.8.3 キューの作成

それぞれのDestinationごとに、システム構築シートから出力されたコマンドを実行環境で実行して、キューを作成します。なお、Interstage管理コンソールを使用して作成することもできます。

フローで使用するメッセージの種類によって、作成が必要な資源を以下に示します。

メッセージの種類

作成する資源

ユニット(保存先)

イベントチャネル

Destination定義

揮発チャネル

揮発チャネル

データベース連携チャネル

揮発

×

×

×

不揮発

×

×

データベース連携

×

×

×

○: 必須、×: 不要

キューの作成は、以下の手順で行います。

  1. ユニットの作成(不揮発チャネル運用の場合)

  2. イベントチャネルの作成

  3. Destination定義の登録

注意

システム構築シートの[フローで使用するメッセージの属性]に[DB連携]を選択した場合、コマンドは[フロー定義とキューの関連出力]シートで出力されますが、コマンドの引数に指定されるデータベース連携情報ファイルは、[データベースサーバの構成情報入力]シートで生成されます。

9.8.3.1 ユニットの作成(不揮発チャネルを利用する場合)

非同期アプリケーション連携実行基盤で使用するメッセージを不揮発運用のイベントチャネルに格納する場合、ユニット(保存先)を作成します。ユニット(保存先)の作成方法には、システム構築シートから出力されたコマンド(esmkunitコマンド)を使用する方法と、Interstage管理コンソールを使用する方法があります。

コマンドを使用する場合

ユニットの作成コマンド(esmkunitコマンド)を実行して、イベントチャネルを作成します。

不揮発キューを作成する場合、システム構築シートから出力されるユニット定義ファイルを入力に、システム構築シートから出力されたユニットの作成コマンド(esmkunitコマンド)を、以下のように実行します。

/opt/FJSVes/bin/esmkunit -uf UN1_unit.def

esmkunit -uf UN1_unit.def

ポイント

Interstage管理コンソールを使用する場合

Interstage管理コンソールの[Interstage Application Server] > [システム] > [リソース] > [JMS] > [保存先] > [新規作成]画面で、メッセージの保存先となるユニット(保存先)を作成します。
なお、作成するユニットの数は、使用する環境の負荷や危険分散に合わせて決定してください。

定義項目の詳細は、Interstage管理コンソールのヘルプを参照してください。

ユニットの作成は、以下の手順で行います。

  1. [新規作成]画面の保存先設定で、必要な情報を指定します。

    表9.1 保存先設定

    パラメタ

    設定内容

    ユニットID

    ユニット名を入力します。6文字以内で指定します。
    半角英数字を使用することができます。なお、大文字/小文字の区別はありません。

    ユニットモード

    ユニットのモードを以下から選択します。

    • 標準ユニット

    • 拡張ユニット

    標準ユニットは、1つのシステムで1つだけ作成可能です。ユニットを2つ以上作成する場合は、2つめ以降は拡張ユニットを選択してください。
    また、グローバルトランザクション機能を使用する場合は、必ず拡張ユニットを選択してください。

    格納ディレクトリ

    イベントデータ(メッセージ)用ファイル、システム用ファイル、およびトランザクション用ファイルを格納する通常ファイルシステム上のディレクトリを絶対パスで入力します。233文字(233Byte)以内で指定します。
    なお、以下の文字、および環境変数を使用することはできません。
    アンパサンド (&)
    アスタリスク (*)
    コロン (:)
    小なり (<)
    イコール (=)
    大なり (>)
    クエスチョンマーク (?)
    パイプ (|)
    格納ディレクトリをダブルクォーテーション(")で括って指定することもできます。

    注意

    指定された格納ディレクトリ配下に指定されたユニット名のディレクトリを作成し、ファイルを格納します。
    指定した格納ディレクトリには、以下のサイズの空き容量が必要となります。
    イベントデータ用ファイル容量
    システム用ファイル容量
    トランザクション用ファイル容量:((トランザクション多重度*4)+256+(1トランザクション内最大メッセージ長*2))*16(KB)

    トランザクション多重度

    トランザクション多重度を入力します。1から1024までを指定することができます。
    ユニット内のイベントチャネルに対して、同時にメッセージを送受信するアプリケーションの多重度を指定します。
    (Σ(ユニットを保存先とするイベントチャネルを利用する業務処理実行アプリケーションの最大同時処理数)+Σ(ユニットを保存先とするイベントチャネルを利用する業務処理開始アプリケーションの最大同時処理数))
    本項目の初期値は、100です。

    注意

    • 最大同時処理数は、以下の値を利用します。

      • 業務処理実行アプリケーション
        Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > “モジュール名” > “EJBアプリケーション名” > [アプリケーション環境定義]タブ画面の[初期起動インスタンス数]の設定値

      • 業務処理開始アプリケーション(Message-driven Beanとして実装している場合)
        Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > “モジュール名” > “EJBアプリケーション名” > [アプリケーション環境定義]タブ画面の[初期起動インスタンス数]の設定値

      • 業務処理開始アプリケーション(Message-driven Bean以外のEJBとして実装している場合)
        Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > [環境設定]タブ画面の[EJBコンテナ設定]の[同時処理数]の最大設定値

      • 業務処理開始アプリケーション(Servletとして実装している場合)
        Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > [環境設定]タブ画面の[Servletコンテナ設定]の[同時処理数]の設定値

      • 業務処理開始アプリケーション(javaアプリケーションとして実装している場合)
        アプリケーションのプロセス数×スレッド数

    • トランザクション多重度の計算値が1024を超える場合は1024を指定してください。

    1トランザクション内最大メッセージ長

    1トランザクション内で操作することができる最大メッセージ長をブロック数で指定します。1ブロックは16KB(固定)です。1から4096までを指定することができます。
    本項目の初期値は、1024です。
    例)1024と指定した場合は、1024*16KB=16MBとなります。

    注意

    メッセージ長については、“Interstage Business Application Server チューニングガイド”の“メッセージ長の見積り式”を参照して計算してください。

    システム用ファイル容量

    システム用ファイルの容量(MB)を入力します。1から2047までを指定することができます。
    以下の計算式を目安に見積もってください。

    固定領域+チャネル使用領域+proxy使用領域+インデックス用領域
    固定領域:32K

    チャネル使用領域:(n:ユニットを保存先とするイベントチャネル数)
      (16K+(2K×(n-1)))×1.5

    proxy使用領域:
      ((Σ(ユニットを保存先とするイベントチャネルを利用する業務処理実行アプリケーションの最大同時処理数)+Σ(ユニットを保存先とするイベントチャネルを利用する業務処理開始アプリケーションの最大同時処理数))/16+1)×16K×1.5

    インデックス用領域:
      (5+(イベントデータ蓄積最大数/340)+2)×2×16K

    本項目の初期値は、10MBです。

    注意

    最大同時処理数は、以下の値を利用します。

    • 業務処理実行アプリケーション
      Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > “モジュール名” > “EJBアプリケーション名” > [アプリケーション環境定義]タブ画面の[初期起動インスタンス数]の設定値

    • 業務処理開始アプリケーション(Message-driven Beanとして実装している場合)
      Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > “モジュール名” > “EJBアプリケーション名” > [アプリケーション環境定義]タブ画面の[初期起動インスタンス数]の設定値

    • 業務処理開始アプリケーション(Message-driven Bean以外のEJBとして実装している場合)
      Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > [環境設定]タブ画面の[EJBコンテナ設定]の[同時処理数]の最大設定値

    • 業務処理開始アプリケーション(Servletとして実装している場合)
      Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > [環境設定]タブ画面の[Servletコンテナ設定]の[同時処理数]の設定値

    • 業務処理開始アプリケーション(javaアプリケーションとして実装している場合)
      アプリケーションのプロセス数×スレッド数

    システム用データ格納域数

    システム用データ格納域(キュー)の数を入力します。4から32768までを指定することができます。
    以下の値が必要となります。

      イベントチャネル数×2+2以上

    本項目の初期値は、100です。

    イベントデータ用ファイル容量

    イベントデータ(メッセージ)用ファイルの容量(MB)を入力します。1から2047までを指定することができます。
    以下の計算式を目安に見積もってください。

    固定領域+メッセージ使用領域

    固定領域:16K

    メッセージ使用領域:

    • メッセージ長が平均512Byte以下の場合
        (イベントデータ蓄積最大数/32+1)×16K×1.5+1.8K

    • メッセージ長が平均1KB以下の場合
        (イベントデータ蓄積最大数/16+1)×16K×1.5+1.8K

    • メッセージ長が平均2KB以下の場合
        (イベントデータ蓄積最大数/8+1)×16K×1.5+1.8K

    • メッセージ長が平均2KBを超える場合
        ((イベントデータ蓄積最大数/8+1)×16K+メッセージ長×イベントデータ蓄積最大数)×1.5+1.8K

    本項目の初期値は、30MBです。

    参照

    メッセージ長については、“Interstage Business Application Server チューニングガイド”の“メッセージ長の見積り式”を参照して計算してください。

    イベントデータ用データ格納域数

    イベントデータ(メッセージ)用データ格納域(キュー)の数を入力します。1から32768までを指定することができます。
    イベントチャネル数分の値を指定する必要があります。
    本項目の初期値は、50です。

    共用メモリサイズ

    ユニットで使用する共用メモリサイズ(MB)を入力します。1から1024までを指定することができます。
    最大メッセージ長が2MBを超える場合には、最大メッセージ長×4以上の値を指定する必要があります。
    本項目の初期値は、80MBです。

    参照

    メッセージ長については、“Interstage Business Application Server チューニングガイド”の“メッセージ長の見積り式”を参照して計算してください。

  2. 作成するユニットの数だけ、1.の操作を繰り返します。

9.8.3.2 イベントチャネルの作成

非同期アプリケーション連携実行基盤で使用するイベントチャネルを作成します。イベントチャネルの作成方法には、システム構築シートから出力されたコマンド(esmkchnlコマンド)を使用する方法と、Interstage管理コンソールを使用する方法があります。

コマンドを使用する場合

出力されたコマンド(esmkchnlコマンド)を実行して、イベントチャネルを作成します。

イベントチャネルの作成(揮発の場合)

システム構築シートから出力されたイベントチャネルの作成コマンド(esmkchnl)とイベントチャネルの動作環境の参照と設定コマンド(essetcnfchnl)を、以下のように実行します。

/opt/FJSVes/bin/esmkchnl -g dst1 -c dst1 -l EUC -notify -tran -ptp
/opt/FJSVes/bin/essetcnfchnl -g dst1 -c dst1 -s -chkcon no -coled yes

esmkchnl -g dst1 -c dst1 -l EUC -notify -tran -ptp
essetcnfchnl -g dst1 -c dst1 -s -chkcon no -coled yes

イベントチャネルの作成(不揮発の場合)

システム構築シートから出力されたイベントチャネルの作成コマンド(esmkchnl)とイベントチャネルの動作環境の参照と設定コマンド(essetcnfchnl)を、以下のように実行します。あらかじめ、ユニットの作成を行う必要があります。ユニットの作成については“9.8.3.1 ユニットの作成(不揮発チャネルを利用する場合)”を参照してください。

/opt/FJSVes/bin/esmkchnl -g dst1 -c dst1 -l EUC -notify -persist all -unit UN1 -tran -ptp
/opt/FJSVes/bin/essetcnfchnl -g dst1 -c dst1 -s -chkcon no -coled yes

esmkchnl -g dst1 -c dst1 -l EUC -notify -persist all -unit UN1 -tran -ptp
essetcnfchnl -g dst1 -c dst1 -s -chkcon no -coled yes

イベントチャネルの作成(DB連携の場合)

DB連携キューを作成する場合、システム構築シートから出力されるデータベース連携情報ファイルを入力に、システム構築シートから出力されたイベントチャネルの作成コマンド(esmkchnl)とイベントチャネルの動作環境の参照と設定コマンド(essetcnfchnl)を、以下のように実行します。

/opt/FJSVes/bin/esmkchnl -g dst1 -c dst1 -l EUC -notify -tran -ptp -dbf dst1.dbc
/opt/FJSVes/bin/essetcnfchnl -g dst1 -c dst1 -s -chkcon no -coled yes

esmkchnl -g dst1 -c dst1 -l EUC -notify -tran -ptp -dbf dst1.dbc
essetcnfchnl -g dst1 -c dst1 -s -chkcon no -coled yes

注意

システム構築シートから出力されたイベントチャネルの作成コマンド(esmkchnl)では、イベントチャネルの最大接続数はデフォルト値の16が設定されます。最大接続数はesmkchnlコマンド実行時に-mオプションを指定することで設定できます。必要に応じてイベントチャネルの最大接続数を設定してください。
また、アプリケーションを多重で実行する場合は、最大接続数について、esmkchnlコマンド以外にも設定する項目があります。
詳細は、“Interstage Business Application Server チューニングガイド”の“同時処理数のチューニング”の“イベントチャネルの設定”を参照してください。
イベントチャネルの最大接続数を512として、イベントチャネルを作成する場合の実行例を以下に示します。

/opt/FJSVes/bin/esmkchnl -g dst1 -c dst1 -l EUC -notify -tran -ptp -m 512

esmkchnl -g dst1 -c dst1 -l EUC -notify -tran -ptp -m 512

ポイント

  • システム構築シートの入力については、“9.4.2 フロー定義とキューの関連入力”を参照してください。システム構築シートの出力については、“9.4.5.1 フロー定義とキューの関連入力の出力内容”を参照してください。

  • esmkchnlコマンドの詳細については、“Interstage Application Server リファレンスマニュアル(コマンド編)”を参照してください。

  • essetcnfchnlコマンドの詳細については、“Interstage Application Server リファレンスマニュアル(コマンド編)”を参照してください。

■Interstage管理コンソールを使用する場合

イベントチャネルは、フロー定義で指定した各アクティビティ、エラーメッセージ退避キュー、結果受信キューに1:1で対応するように作成してください。
非同期アプリケーション連携実行基盤で利用可能なイベントチャネルには、以下の3種類があります。

それぞれの特徴および選択の指針については、“■イベントチャネルの設計”を参照してください。

注意

  • Interstage管理コンソールの[Interstage Application Server] > [システム] > [状態]タブ画面の詳細[表示]で[Interstage構成サービス]に“イベントサービス”が登録されていない場合は、Interstage管理コンソールの[Interstage Application Server] > [システム] > [環境設定]タブ画面で[イベントサービス詳細設定]を“使用する”に変更し、構成を変更してください。

  • イベントチャネル作成時の文字コードがOSのコードと異なる場合、日本語を含むコリレーションIDが文字化けし、メッセージトラッキングの参照が行えない場合や業務処理開始アプリケーションで結果情報のメッセージを受け取れない場合があります。

イベントチャネルを運用するアプリケーションサーバで、Interstage管理コンソールの[Interstage Application Server] > [システム] > [リソース] > [JMS] > [イベントチャネル] > [新規作成]画面で、使用するイベントチャネルを作成します。

  • 揮発チャネルの場合
    [詳細設定]で、不揮発チャネル運用を“しない”と設定します。また、[データベース連携詳細設定]で、データベース連携を“使用しない”と設定します。

  • 不揮発チャネルの場合
    [詳細設定]で、不揮発チャネル運用を“する”と設定し、必要なパラメタを設定します。また、[データベース連携詳細設定]で、データベース連携を“使用しない”と設定します。

  • データベース連携チャネルの場合
    [データベース連携詳細設定]で、データベース連携を“使用する”と設定し、必要なパラメタを設定します。また、[詳細設定]で、不揮発チャネル運用を“しない”と設定します。
    なお、データベース連携のイベントチャネルを使用する場合、“9.8.2 フロー定義の登録”でメッセージ格納DBのデータベースリソースを必ず設定してください。
    イベントチャネルをデータベース連携で作成しても、メッセージ格納DBのデータベースリソースをフローに設定しない場合、イベントチャネルは、揮発チャネル運用として動作します。このため、イベントチャネルが停止すると、メッセージは以下のように退避されます。

    • フロー定義ツールの異常処理定義でエラーメッセージ退避キューを定義している場合
      エラーメッセージ退避キューに退避

    • フロー定義ツールの異常処理定義でエラーメッセージ退避キューを定義していない場合
      シリアライズファイルに出力

定義項目の詳細は、Interstage管理コンソールのヘルプを参照してください。

イベントチャネルの作成は、以下の手順で行います。

  1. [新規作成]画面の簡易設定で、イベントチャネルグループとイベントチャネル名を指定します。

    表9.2 簡易設定

    パラメタ

    設定内容

    イベントチャネルグループ名

    任意なイベントチャネルのグループ名を入力します。
    揮発チャネルを作成する場合は64文字以内の文字列で、不揮発チャネル(-persistオプションと同時指定)を作成する場合は、32文字以内の文字列で指定します。
    英数字および以下の記号を含めた文字列(先頭は英数字)を使用することができます。

    • ハイフン(-)

    • ピリオド(.)

    • スラッシュ(/)

    • アンダースコア(_)

    イベントチャネル名

    グループに含まれるイベントチャネル名を、任意な64文字以内の文字列で指定します。複数指定が可能です。
    英数字および以下の記号を含めた文字列(先頭は英数字)を使用することができます。

    • ハイフン(-)

    • ピリオド(.)

    • スラッシュ(/)

    • アンダースコア(_)

    タイプ

    “Queue”を指定します。

  2. 詳細設定の[表示]を選択して、イベントチャネルグループ内のイベントチャネルの詳細設定を行います。

    表9.3 詳細設定

    パラメタ

    設定内容

    不揮発チャネル運用

    • 揮発機能を使用したイベントチャネルにメッセージを格納する場合、“しない”を選択します。

    • 不揮発機能を使用したイベントチャネルにメッセージを格納する場合、“する”を指定します。

    不揮発チャネル運用を“する”に設定した場合に有効となる設定値

    ユニットID

    メッセージの保存先となるユニット名を選択します。

    グローバルトランザクション

    • 揮発機能を使用したイベントチャネルにメッセージを格納する場合、“しない”を選択します。

    • 不揮発機能を使用したイベントチャネルにメッセージを格納し、かつ以下の運用を行う場合は“する”を指定します。

      • 異なるチャネルグループのチャネルへのトランザクションを同一トランザクションとする場合

      • 業務用データベースとメッセージのトランザクションを同一トランザクションとする場合

    最大接続数

    イベントチャネルの最大接続数を指定してください。最大接続数については“Interstage Business Application Server チューニングガイド”の“同時処理数のチューニング”の“イベントチャネルの設定”を参照してください。

    日本語コード系

    イベントチャネルが動作するマシンのコード系を指定します。必ず、EUCを指定してください。

    SSL通信

    アプリケーションからイベントチャネルまでの通信を暗号化する場合は、“使用する”を指定します。

  3. データベース連携詳細設定の[表示]を選択して、データベース連携の詳細設定を行います。

    表9.4 データベース連携詳細設定

    パラメタ

    設定内容

    データベース連携

    データベース連携を“使用する”または“使用しない”を選択します。

    データベース連携を“使用する”に設定した場合に有効となる設定値

    データベース種別

    データベース連携に使用するデータベースの種別が“Symfoware”か“Oracle”かを選択します。

    業務データベース名

    データベースサーバ上に作成したデータベース連携用の業務用データベース名を入力します。36文字以内で指定します。先頭文字は英字を指定してください。なお業務データベース内にメッセージ格納DB環境が作成されている必要があります。

    • Symfowareの場合
      業務データベース作成時にCREATE DATABASE文で指定したデータベース名を指定します。

    • Oracleの場合
      初期化パラメタファイルに記述されたDB_NAME の値を指定します。初期化パラメタファイルは以下にあります。

    • PFILE運用時
      $ORACLE_HOME/dbs/INIT<SID名>.ora

    • SPFILE運用時
      $ORACLE_HOME/dbs/SPFILE<SID名>.ora

    • PFILE運用時
      %ORACLE_HOME%\dbs\init<SID>.ora

    • SPFILE運用時
      %ORACLE_HOME%\dbs\spfile<SID>.ora

    データベースユーザ名

    非同期アプリケーション連携実行基盤管理者のユーザ名を入力します。

    データベースパスワード

    非同期アプリケーション連携実行基盤管理者ユーザのパスワードを入力します。

    イベントデータ蓄積最大数

    イベントチャネルに蓄積できるイベントデータ数(メッセージ数)の最大数を入力します。

    データベースサーバIPアドレス種別
    (Symfowareのみ)

    データベースサーバのIPアドレスの種別が“IPv4”か“IPv6”かを選択します。

    データベースサーバIPアドレス
    (Symfowareのみ)

    データベースサーバのIPアドレスを入力します。

    データベースサーバポート番号
    (Symfowareのみ)

    データベースサーバのポート番号を入力します。

    データベースホスト接続文字列
    (Oracleのみ)

    データベースサーバに接続する際のネットサービス名(tnsnames.oraに登録されているネットサービス名)を入力します。

    参照

    ネットサービス名の設定については、“8.3.7 ネットサービス名の設定 (Oracleを利用する場合)”を参照してください。

    注意

    データベース連携機能を使用するイベントチャネルの作成時に指定した非同期アプリケーション連携実行基盤管理者ユーザのパスワードが変更された場合は、イベントチャネルの再作成を行う必要があります。

9.8.3.3 Destination定義の登録

非同期アプリケーション連携実行基盤で使用するキューのDestination定義を登録します。

システム構築シートから出力されたDestination定義の登録コマンド(apfwmkdstコマンド)を、以下のように実行します。

/opt/FJSVibs/bin/apfwmkdst -g dst1 -c dst1 dst1

apfwmkdst -g dst1 -c dst1 dst1

ポイント