| 4. WebOTX OLF/TP Adapter実行環境の運用 |
| 4.1. 概要 |
| 4.2. 運用 |
| 4.2.1. EJBコンテナへの配備 |
OLF/TP AdapterをEJBコンテナに配備するためには、配備ツールを使用します。WebOTXは配備ツールを用意しています。WebOTX 配備ツールの使用方法については、EJBコンテナのマニュアルを参照してください。OLF/TP Adapterの配備方法については、「アプリケーションの開発」を参照してください。
OLF/TP AdapterをEJBコンテナに配備した後に、コネクションプールの作成とコネクタリソースの登録を行う必要があります。
コネクションプールの作成とコネクタリソースの登録は運用管理コマンドや統合運用管理ツールを利用して行うことが出来ます。詳細な利用方法はそれぞれのマニュアルを参照してください。
コネクションプールの作成とコネクタリソースの登録を行うと以下のようになります。

上記作業を行った後に以下の作業を行ってください。
統合運用管理ツールを起動し、ドメインに接続します。その後、「アプリケーション」-「リソースアダプタ」-「配備したrarファイル」を選択します。
右側の画面で「JMXエージェント上でロードするかどうかを指定」のチェックをはずし、「全てのEJBプロセスグループで使用するかどうかを指定」でプルダウンメニューから「各プロセスグループの属性で指定する」を選択します。
設定画面は以下のようになります。

次に、「リソース」-「コネクタリソース」-「登録したコネクタリソース名」を選択します。
右側の画面で「JMXエージェント上でロードするかどうかを指定」のチェックをはずし、「全てのEJBプロセスグループで使用するかどうかを指定」でプルダウンメニューから「各プロセスグループの属性で指定する」を選択します。
設定画面は以下のようになります。

次に、「TPシステム」-「アプリケーショングループ」-「アプリケーショングループ名」-「プロセスグループ」-「プロセスグループ名」を選択します。
右側の画面でリソースタブを選択し、使用するコネクタリソースリストに登録したコネクタリソースが表示されていることを確認します。複数のコネクタリソースを登録している場合には、使用しないコネクタリソースを削除してください。また、使用するリソースアダプタに配備したリソースアダプタが表示されていることを確認します。複数のリソースアダプタを配備している場合には、使用しないリソースアダプタを削除してください。

上記の設定完了後、プロセスグループを再起動することで設定が有効になります。
| 4.2.2. WebOTXアプリケーションサーバへの配備 |
非管理環境でOLF/TP Adapterを使用する場合は、OLF/TP Adapterの提供するクラスファイルをクラスパスに含める必要があります。以下にWebOTXアプリケーションサーバでOLF/TP Adapterを利用するための配備手順を示します。
(1)通信環境定義
WebOTXアプリケーションサーバが動作している環境の通信環境定義、端末定義ファイルを編集します。
(2)共有コンポーネントへの登録
以下のjarファイルをWebOTXの共有コンポーネントとしてWebOTXに登録します。共有コンポーネントの登録方法については、WebOTX運用管理ツールのマニュアルを参照してください。
これらのjarファイルは、<OLF/TP Adapterインストールディレクトリ>/Adapter/OLFTP/Run/lib配下に格納しています。
(3)WebOTXに登録したサーバアプリケーションのプロセスグループに、(2)で登録した共有コンポーネントを追加します。
| 4.3. 設定 |
これらの設定に加え、配備記述子(ra.xml)とよばれるOLF/TP Adapterのプロパティを設定する必要があります。配備記述子はJ2EEコネクタアーキテクチャ準拠の設定ファイルで、リソースアダプタのプロパティ情報を設定します。
WebOTXでは、プールの拡張機能を提供しています。これらの機能を使用するには、WebOTX固有機能定義(nec-j2ee.xml)で定義する必要があります。
| 4.3.1. 通信環境定義(OLFAdapter.ini) |
OLF/TP Adapterを使用してバックエンドサーバと通信するには、まず通信に使用するリソースを定義します。通信環境定義は以下のファイルを編集してください。
<OLF/TP Adapterインストールディレクトリ>/Adapter/OLFTP/Run/conf/OlfAdapter.ini
本定義では、以下の情報を定義します。
| プロパティ名 | 既定値 | 説明 | ||||||||||||||||
| RmtDefinition | なし | 【必須パラメータ】 端末定義ファイルパス 。 例1:RmtDefinition = /etc/olf/OlfAdapter.xml 例2:RmtDefinition = D:\\WebOTX\\Adapter\\OLFTP\\Run\\conf\\OlfAdapter.xml |
||||||||||||||||
| UTConnection | 4 | OLF/TP-UT プロトコルのコネクションの開設可能総数の上限(発信、着信含む)。UTプロトコルを使用して通信する場合に指定してください。 | ||||||||||||||||
| UWConnection | 4 | OLF/TP-UW プロトコルのコネクションの開設可能総数の上限(発信、着信含む)。UWプロトコルを使用して通信する場合に指定してください。 | ||||||||||||||||
| MaxRecv | 4 | 受信スレッドの最大値。リモート定義におけるdelivery=realtime のコネクションの開設可能総数の上限値。 | ||||||||||||||||
| MaxSession | 4 | 同時開設可能な最大セッション数。1以上を指定してください。APコンポーネントの多重度以上を指定してください。 | ||||||||||||||||
| RequestNum | 8 | 同時送受信可能なオブジェクトの最大数。 | ||||||||||||||||
| MaxListenerThread | 3 | 非同期受信を実行するスレッド数。1以上を指定してください。 | ||||||||||||||||
| OlfByteBufferNum | 8 | 送受信バッファの最大総数。 | ||||||||||||||||
| OlfByteBufferSize | 10000 | 送受信バッファサイズ。送受信データの最大サイズ+64バイトを指定してください | ||||||||||||||||
| PollingInterval | 1000 | delivery=polling
の受信監視間隔をmsec 単位で指定する。 無通信状態でも監視動作が実行されるため、1,000(1 秒)以上が好ましい。それ以下の値ではwarning がログファイルに出力されます。 【0は指定不可】 |
||||||||||||||||
| TraceLvl | ConDis | トレースレベルを指定する。以下のシンボルで指定する。
|
||||||||||||||||
| MessageTraceSize | 160 | TraceLvl=Message で出力されるダンプサイズ。【nolim もしくは任意の正の整数値】 | ||||||||||||||||
| TraceLogDir | トレースやログを出力するディレクトリ。 指定配下にそれぞれ、trace, log というディレクトリが作成され、その中にファイルがサイクリックに複数作成される。−を指定すると、 トレースはstdoutに、ログはstderrに、それぞれ出力される。管理環境で動作させる場合は、既定値を使用してください。 |
|||||||||||||||||
| TraceLogSuffix | なし | トレースやログのファイル名の拡張子を指定します。;で、トレースとログをそ れぞれ別々の拡張子とすることができます。 例:TraceSuffix=.txt;.log →トレースは、trace01.txt 、ログはlog01.log というように出力されます。 |
||||||||||||||||
| TraceLogFileCount | 10 | 保存するログファイルの最大数。【1〜98 】 | ||||||||||||||||
| TraceLogFileSize | 5000 | ひとつのトレースファイルあたりの最大行数。【10〜100,000 】 なお、一回のトレース出力で複数行出力されるものは、一行とみなします。たとえばTraceLvl=Messageの送受信ダンプイメージは、 一回が一行とみなします。このため、実際のファイルサイズは指定行より大きくなることがあります。 |
||||||||||||||||
| TraceBufferSize | 1024 | バッファリングするサイズ。【10〜1,048,576 】 なお、ログファイルは行単位で即時出力され、バッファリングされません。 |
||||||||||||||||
| TraceFlushingInterval | 5 | トレースファイルがバッファ内に滞留する最大時間(秒)【1以上】 なお、実際は本値x1000 がPollingInterval(ms)の整数倍となります。 |
||||||||||||||||
| UTport | OLF/TP-UTの着信ポート番号 OLF/TP-UTで着信接続を行う場合に設定します。 |
|||||||||||||||||
| UWport | OLF/TP-UWの着信ポート番号 OLF/TP-UWで着信接続を行う場合に設定します。 |
|||||||||||||||||
| PortError | terminate | 着信ポートの準備に失敗したときの動作を指定します。 terminate OLFライブラリの初期化に失敗します。 ignore 失敗した着信ポートは着信不可となり、初期化は成功します。 |
||||||||||||||||
| CommonInitialize | yes | yesの場合、アイテムマップ共通機能の初期化を行う。 | ||||||||||||||||
| cddpath | アイテムマップファイルの初期ロードディレクトリ。CommonInitialize=yesの時に有効。 RARファイルにアイテムマップをアーカイブする場合は必要ありません。 |
|||||||||||||||||
| commonTraceLvl | No | CommonInitialize=yesの時に有効。アイテムマップ共通機能のトレースレベル
|
(注意:定義を変更する場合は、APサーバを停止してください。)
| 4.3.2. 端末定義(OLFAdapter.xml) |
OLF/TP Adapterを使用しての通信相手となるホストの情報を定義します。端末定義は以下のファイルを編集してください。
<OLF/TP Adapterインストールディレクトリ>/Adapter/OLFTP/Run/conf/OlfAdapter.xml
本定義では、以下の情報を定義します。
| タグ名 | 既定値 | 説明 | ||||||
| AckTimeout | 5秒 | Ack/Conf監視時間を設定します(単位:秒、あるいはnolim、0はnolimと同じ、既定値=5)。
送信時の送達確認の受信待ち時間であり、指定時間以上経過した場合、コネクションが切断されます。 また、UWにおけるPLstopも、本時間で監視します。 |
||||||
| DefaultRmtDef | RmtDef配下で省略された各エレメントの既定値を設定します。
本定義はRmt定義内に一回だけ記述できますが、省略することもできます。 記述する場合、後続のRmtDefの既定値が、本設定値になります。 |
|||||||
| Delivery | realtime | 非同期メッセージの受信監視の方式を指定します。
|
||||||
| IdleTimeout | nolim | 無通信監視時間を設定します(単位:秒、あるいはnolim)。 既定値は無制限(nolim)です。すなわち無通信監視を行いません。 指定時間の間、相手からのメッセージ受信が行われなかった場合、コネクションを切断します。 アライブチェック用の電文(TXreq(/NULL)や、DFctrl)も含め、あらゆる受信が行われた場合、コネクション切断にはなりません。 また、以下の時間は、処理待ち時間として無通信監視の対象となりません。 ・コネクション接続直後のDFinitもしくはPStart待ち時間・request()における、TXackもしくはTXreply待ち時間 ・recv()におけるTXreq待ち時間 ・UWにおけるPLstart/PLstop待ち時間 値0は、nolimと同じです。 |
||||||
| InitTimeout | 30 | 接続時の活性監視時間を設定します(単位:秒、あるいはnolim、0はnolimと同じ、既定値=30)。
コネクション接続時のDFinit、もしくはPstart、ならびにUWのセッション取得時のPLstartの監視を行います。指定時間以上経過した場合、コネクションは切断され、そのとき発行しているgetSessionは失敗します。 |
||||||
| MaxConnection | 1 | 最大接続コネクション数です。
1以上の整数を指定してください。 |
||||||
| PoolConnect | atRequest | OLF/TP-UTプロトコルを使用する場合は、atRequestを指定してください。OLF/TP-UWプロトコルを使用する場合は、initialを指定してください。 | ||||||
| ReplyTimeout | 30 | 応答時間を設定します(単位:秒、あるいはnolim、0はnolimと同じ)
|
||||||
| ResendCount | 5 | 送信再送回数を指定します。
指定回数再送し、受け付けられなければ、送信失敗となります。 |
||||||
| ResendInterval | 30 | 再送間隔を指定します(単位:秒、0は不可)。
TXackあるいはTXconfで、RETRYを受信したとき再送する間隔です |
||||||
| RmtAddr | 接続先のアドレスを指定します。
ホスト名(hostsもしくはDNS登録されたもの) あるいはIPアドレス形式で指定必須。 |
|||||||
| RmtDef | 一つの接続先を定義します。各種プロパティで指定していないものは、
DefaultRmtで既定値を指定できます。
配下にもてるエレメントは、次のとおり。 RmtName, RmtAddr, RmtPort, MaxConnection, Type, Delivery, PoolConnect, InitTimeout, AckTimeout, ResendInterval, ResendCount, ReplyTimeout |
|||||||
| RmtName | 接続先のシンボリック名を指定します。
本値は配備記述子のServerNameで指定します。 |
|||||||
| RmtPort | 接続先の着信ポートを指定します。 発信接続時(ConnectWay=connectの場合)には指定が必須です。 |
|||||||
| ConnectWay | connect | 接続方法を指定します。 発信時はconnect、着信時はacceptを指定します。 |
||||||
| Type |
|
|||||||
| waitConnectionTimeout | nowait |
|
(注意:定義を変更する場合は、APサーバを停止してください。)
| 4.3.3. 配備記述子(ra.xml) |
OLF/TP Adapterのプロパティを指定するファイルです。OLF/TP Adapterのプロパティは、<config-property>タグで指定します。管理環境にOLF/TP Adapterを配備する場合は、配備ツールでプロパティを設定します。非管理環境でOLF/TP Adapterを利用する場合は、サンプルのra.xmlをテキストエディタで編集してください。
OLF/TP Adapterのプロパティを以下に示します。
(注:大文字/小文字は区別されます)
| プロパティ名 | 型 | 既定値 | 説明 |
| ASync | java.lang.Boolean | false | OLF/TP Adapterで非同期電文受信を行う場合にtrueを指定します。 |
| CodeType | java.lang.String | "JIPSE" | 接続先ホストが使用しているコード種別を指定します。以下のコード種別が指定できます。(省略可)
|
| EndianType | java.lang.String | "big-endian" | 接続先ホストのendianタイプを指定します。指定できる値は以下の通りです。
|
| ExecutionTimeout | java.lang.Integer | 60000 | 受信待ち時間をミリ秒単位で指定します(省略可)。InteractionSpecのExecutionTmeoutに-1を指定している場合、本指定を受信待ち時間として使用します。OLF/TP Adapterでは秒単位で受信を待ち合わせます。よって、待ち時間はExecutionTimeout/1000(秒)となります。0を指定した場合は受信が完了するまでAPコンポーネントに制御が戻りません。 |
| HostType | java.lang.String | "ACOS4" | 接続先のホスト種別を指定します(省略可)。以下のホスト種別が指定できます。
|
| JISType | java.lang.String | "JIS78" | JIS年度を指定します(省略可)。本指定はCodeTypeが"JIPSE"、"JIPS"のときのみ有効です。以下の値が指定できます。
|
| JMSConnectionFactoryName | java.lang.String | "" | 非同期電文受信機能を使用する場合、JMSのQueueConnectionFactoryのJNDI名を指定します。 |
| LIName | java.lang.String | "" | 業務ログイン済みのコネクションをプーリングする場合に指定します(省略可)。接続先業務名を指定します。 |
| VDName | java.lang.String | "" | VDログイン済みのコネクションを作成する場合に指定します(省略可)。VD名を指定します。 |
| OLFConfigFile | java.lang.String | "" | 通信環境定義(OLFAdapter.ini)ファイルのパスを絶対パスで指定します。日本語を含むファイルパスを指定してはいけません。
例: E:\\winnt\\OlfAdapter.ini |
| ProtocolType | java.lang.String | "UT" | 通信プロトコルを指定します(省略可)。指定できる値は以下の通りです。
|
| ServerName | java.lang.String | "" | 接続先ホスト名を指定します。接続先ホスト名は、端末定義(OLFAdapter.xml)で定義しておく必要があります。 |
| TraceLevel | java.lang.Integer | 0 | トレースレベルを指定します(省略可)。指定できる値は以下の通りです。
APサーバがJ2EEコネクタのトレース機能をサポートしている場合、APサーバで指定したファイルにトレースを出力します。APサーバがトレース機能をサポートしていない場合は標準出力にトレースを出力します。 |
| TXIDLength | java.lang.Integer | 8 | OLF/TP Adapterでは、OLF/TPの拡張領域に含まれているトランザクションIDを使用して受信データの解析を行います。 受信電文にOLF/TPの拡張領域が含まれていない場合、OLF/TP Adapterでは、ユーザデータ中の任意のフィールドをトランザクションIDとして扱います。 本プロパティでは、電文中に含まれるトランザクションIDの長さを指定します(省略可)。 |
| TXIDPosition | java.lang.Integer | 0 | OLF/TP Adapterでは、OLF/TPの拡張領域に含まれているトランザクションIDを使用して受信データの解析を行います。 受信電文にOLF/TPの拡張領域が含まれていない場合、OLF/TP Adapterでは、ユーザデータ中の任意のフィールドをトランザクションIDとして扱います。 本プロパティでは、電文中に含まれるトランザクションIDの位置を指定します(省略可)。 |
| ScreenID | java.lang.String | "TXID" | 下り電文の画面IDが格納されている領域を指定します。指定できる値は以下の通りです。
|
| RecordType | java.lang.String | "IndexedRecord" | 非同期受信データ型を指定します。IndexedRecordとMappedRecordを指定可能です。デフォルトは、IndexedRecord です。 |
| UnpackType | java.lang.String | "EBCDIC_EBCDIC" | 文字集合と符号の組み合わせを指定します。指定できる組み合わせは以下の通りです。
|
| FieldInfoType | java.lang.String | "FTYPE_ITEM" | アイテムマップを使用するか電文情報クラスを使用するかを指定します。指定できる値は以下の通りです。
|
| CddPath | java.lang.String | "/cdd" | RARファイル内のアイテムマップディレクトリを指定します。 |
| PackageName | java.lang.String | "" | 電文フォーマットクラス、レコードマッピングクラスのパッケージ名を指定します(省略可)。 FieldInfoTypeにFTYPE_GENを指定した場合のみ有効です。 |
| MCTimer | java.lang.Integer | 1800000 | プール内のConnectionが内部的に保持している端末識別子の解放間隔を指定します。ProtocolTypeが"UW"のときのみ有効です。 |
| LicensePort | java.lang.Integer | 5450 | OLF/TP Adapterのライセンス管理サービスで使用するポート番号を指定します。ライセンス管理サービスで使用するポートを変更した場合のみ指定してください。 |
| 4.3.4. WebOTX固有機能定義(nec-j2ee.xml) |
OLF/TP Adapterのプール管理のプロパティを指定するファイルです。この設定は非管理環境下でのみ使用されます。複数のOLF/TP Adapterプロパティを指定する場合は<connector>タグを複数記述してください。
| タグ名 | 既定値 | 説明 | |
| display-name | "" |
【必須パラメータ】 表示名(プール識別名) ra.xmlの<display-name>タグに対応します。 |
|
| jndi-name | "" |
【必須パラメータ】 JNDI名 |
|
| pool-param | initial-capacity | 1 |
初期プーリング数
プールの開始時の論理パス事前生成数を指定します。 |
| max-capacity | 4 |
最大プーリング数
プーリングする論理パスの最大数 |
|
| Shrink-period-minutes | 0 |
論理パス解放間隔(分単位)
指定された時間以上未使用であるプール内論理パスを解放します。 |
|
| cleanup-frequency | 0 |
プールチェック間隔(秒単位)
論理パス解放間隔、Connection解放間隔にて使用するタイマーの間隔を指定します。 |
|
| connection-duration-time | 0 |
Connection解放間隔(秒単位)
指定された時間以上使用されているConnectionを解放します。 |
|
| default-ra-principal | name | "" | デフォルトユーザ名 |
| password | "" | デフォルトパスワード | |
| log | logging-enabled | false |
ログ採取の有無
true - ログ採取あり false - ログ採取なし |
| log-filename | "OLFAdpt.log" | ログファイル名
実際のログファイル名は、指定したログファイル名拡張子の前にファイル名を一意とする識別子が付きます。 |
|
| log-filesize | 1024 | ログファイルサイズ(KB) | |
| log-backupindex | 1 | ログファイルバックアップ数 | |
以下に記載例を示します。
<?xml version="1.0" encoding="UTF-8"?> <j2ee-specific-information> <connector> <display-name>OLFTP</display-name> <jndi-name>JNDI</jndi-name> <pool-param> <initial-capacity>1</initial-capacity> <max-capacity>4</max-capacity> <Shrink-period-minutes>15</Shrink-period-minutes> <cleanup-frequency>1000</cleanup-frequency> <connection-duration-time>0</connection-duration-time> <max-wait-time-in-millis>60000</max-wait-time-in-millis> </pool-param> <default-ra-principal> <name>name</name> <password>password</password> </default-ra-principal> <log> <logging-enabled>false</logging-enabled> <log-filename>OLFAdpt.log</log-filename> <log-filesize>1024</log-filesize> <log-backupindex>1</log-backupindex> </log> </connector> </j2ee-specific-information>