OLF/TP Adapterを使用するには、OLF/TP Adapterの動作環境についての設定を行う必要があります。OLF/TP Adapterでは、実行時に通信環境定義(OLFAdapter.ini)、端末定義(OLFAdapter.xml)を参照して動作します。これらのファイルは通信に使用するリソース及び接続先の情報を定義しています。
これらの設定に加え、配備記述子(ra.xml)とよばれるOLF/TP Adapterのプロパティを設定する必要があります。配備記述子はJ2EEコネクタアーキテクチャ準拠の設定ファイルで、リソースアダプタのプロパティ情報を設定します。
OLF/TP Adapterを使用してバックエンドサーバと通信するには、まず通信に使用するリソースを定義します。通信環境定義は以下のファイルを編集してください。
<OLF/TP
Adapterインストールディレクトリ>/Adapter/OLFTP/Run/conf/OlfAdapter.ini
本定義では、以下の情報を定義します。
| プロパティ名 | 既定値 | 説明 |
|---|---|---|
| RmtDefinition | なし | 【必須パラメータ】 端末定義ファイルパス。 例:RmtDefinition = E:\\winnt\\OlfAdapter.xml |
| UTConnection | 4 | OLF/TP-UT プロトコルのコネクションの開設可能総数の上限。UTプロトコルを使用して通信する場合に指定してください。 |
| UWConnection | 4 | OLF/TP-UW プロトコルのコネクションの開設可能総数の上限。UWプロトコルを使用して通信する場合に指定してください。 |
| MaxRecv | 4 | 受信スレッドの最大値。リモート定義におけるdelivery=realtime のコネクションの開設可能総数の上限値である |
| MaxSession | 4 | 同時開設可能な最大セッション数。UTConnection+UWConnectionの値以上を指定してください。 |
| RequestNum | 8 | 同時送受信可能なオブジェクトの最大数。UTConnection+UWConnectionの値以上を指定してください。 |
| MaxListenerThread | 3 | 非同期受信を実行するスレッド数。1以上を指定してください。 |
| OlfByteBufferNum | 8 | 送受信バッファの最大総数。(UTConnection+UWConnection)×2の値を指定してください。 |
| OlfByteBufferSize | 10000 | 送受信バッファサイズ。送受信データの最大サイズ+64バイトを指定してください |
| PollingInterval | 1000 | delivery=polling の受信監視間隔をmsec 単位で指定する。 無通信状態でも監視動作が実行されるため、1,000(1 秒)以上が好ましい。それ以下の値ではwarning がログファイルに出力されます。 【0は指定不可】 |
| TraceLvl | ConDis | トレースレベルを指定する。以下のシンボルで指定する。 No トレースを採取しない ConDis コネクションの接続・切断レベル PoolInOut コネクションプールからの出し入れ(利用状況) ReqResp アプリケーションの要求メソッド ReqRespComplete アプリケーションからのメソッドの結果 Protocol セッションレベルのプロトコルプリミティブ Message 入出力しているバッファの先頭をダンプ。MessageTraceSizeでダンプサイズを指定できる Debug デバッグ用 |
| MessageTraceSize | 160 | TraceLvl=Message で出力されるダンプサイズ。【nolim もしくは任意の正の整数値】 |
| TraceLogDir | . |
トレースやログを出力するディレクトリ。 指定配下にそれぞれ、trace, log というディレクトリが作成され、その中にファイルがサイクリックに複数作成される。−を指定すると、トレースはstdoutに、ログはstderrに、それぞれ出力される。管理環境で動作させる場合は、既定値を使用してください。 |
| TraceSuffix | なし |
トレースやログのファイル名の拡張子を指定します。下記の例のように、;でトレースとログをそれぞれ別々の拡張子とすることができます。例:TraceSuffix=.txt;.log→トレースは、trace01.txt 、ログはlog01.log というように出力されます。 |
| TraceLogFileCount | 10 | 保存するログファイルの最大数。【1〜98】 |
| TraceLogFileSize | 5000 | ひとつのトレースファイルあたりの最大行数。【10〜100,000】 なお、一回のトレース出力で複数行出力されるものは、一行とみなします。たとえばTraceLvl=Messageの送受信ダンプイメージは、 一回が一行とみなします。このため、実際のファイルサイズは指定行より大きくなることがあります。 |
| TraceLogBufferSize | 1024 | バッファリングするサイズ。【10〜1,048,576】 なお、ログファイルは行単位で即時出力され、バッファリングされません。 |
| TraceFlushingInterval | 5 | トレースファイルがバッファ内に滞留する最大時間(秒)【1以上】 なお、実際は本値x1000 がPollingInterval(ms)の整数倍となります。 |
| UTport | OLF/TP-UTプロトコルでの着信ポート番号 ※着信接続を行う場合に設定します。 |
|
| UWport | OLF/TP-UWプロトコルでの着信ポート番号 ※着信接続を行う場合に設定します。 |
|
| PortError | "terminate" または、 "ignore" |
指定した着信ポートがすでに使用されている、もしくは着信ポートの準備に失敗した場合の動作を指定します。 terminate OLFライブラリの初期化に失敗します。 ignore 失敗した着信ポートは着信不可となり、初期化は成功します。 ※着信接続を行う場合に設定します。 |
(注意:定義を変更する場合は、APサーバを停止してください。また、TraceLogDirなどを既定値から変更した場合はserver.policyファイルに追記が必要です。)
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の既定値が、本設定値になります。 配下にもてるエレメントは、次のとおり。RmtAddr, RmtPort, MaxConnection, Type, InitTimeout, AckTimeout, ResendInterval, ResendCount, ReplyTimeout |
|
| Delivery | polling | 非同期メッセージの受信監視の方式を指定します。 polling OLF/TP Adapterのpolling監視スレッドで、対象となるコネクションをすべて受信監視します。 realtime 対象となるコネクションごとに監視スレッドを用意します。 |
| 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 | connect | 接続先のアドレスを指定します。 ホスト名(hostsもしくはDNS登録されたもの) あるいはIPアドレス形式で指定必須。 |
| RmtDef | 一つの接続先を定義します。各種プロパティで指定していないものは、 DefaultRmtで既定値を指定できます。 配下にもてるエレメントは、次のとおり。 RmtName, RmtAddr, RmtPort, MaxConnection, Type, Delivery, PoolConnect, InitTimeout, AckTimeout, ResendInterval, ResendCount, ReplyTimeout |
|
| RmtName | 接続先のシンボリック名を指定します。 本値は配備記述子のServerNameで指定します。 本エレメントはRmtDef配下で必須であり、値はリモート定義全体で一意でなければなりません。 本エレメントはDefaultRmtDef配下で指定できません。 |
|
| RmtPort | 設定していても参照されない。 (ConnectWay="connect" 時にのみ必須である) |
接続先の着信ポートを指定します。 |
| ConnectWay | "accept" | 接続方法を指定します。 発信時はconnect(既定値)、着信時はacceptを指定します。 |
| Type | セッションの種別を指定します。 UT-stateful OLF/TP-UTプロトコルを使用する場合に指定します。 UW OLF/TP-UWプロトコルを使用する場合に指定します。 |
(注意:定義を変更する場合は、APサーバを停止してください。)
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のExecutionTimeoutに-1を指定している場合、本指定を受信待ち時間として使用します。OLF/TP Adapterでは秒単位で受信を待ち合わせます。よって、待ち時間はExecutionTimeout/1000(秒)となります。0を指定した場合は受信が完了するまでAPコンポーネントに制御が戻りません。 |
| HostType | java.lang.String | "ACOS4" | 接続先のホスト種別を指定します(省略可)。以下のホスト種別が指定できます。
|
| JISType | java.lang.String | "JIS78" |
JIS年度を指定します(省略可)。本指定はCodeTypeが"JIPSE"、"JIPS"のときのみ有効です。以下の値が指定できます。
|
| JMSConnection FactoryName |
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 |
| PackageName | java.lang.String | "" | 電文フォーマットクラス、レコードマッピングクラスのパッケージ名を指定します(省略可)。 |
| ProtocolType | java.lang.String | "UT" | 通信プロトコルを指定します(省略可)。指定できる値は以下の通りです。
|
| QueueName | java.lang.String | "" | 非同期電文受信機能を使用する場合、JMSのQueueのJNDI名を指定します。 |
| ServerName | java.lang.String | "" |
接続先ホスト名を指定します。接続先ホスト名は、端末定義(OLFAdapter.xml)で定義しておく必要があります。 着信接続を行う場合にはタグそのものを記述しません。 |
| TraceLevel | java.lang.Integer | 0 | トレースレベルを指定します(省略可)。指定できる値は以下の通りです。
|
| 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の位置を指定します(省略可)。 |
| UserName | java.lang.String | "" | QueueConnectionを作成時のユーザ名を指定します(指定がない場合でも動作可能) |
| Password | java.lang.String | "" | QueueConnectionを作成時のパスワードを指定します(指定がない場合でも動作可能) |
| RecordType | java.lang.String | "IndexedRecord" | 非同期受信データ型を指定します。IndexedRecordとMappedRecordを指定可能です。デフォルトは、 IndexedRecord です。 |
| UnpackType | java.lang.String | "EBCDIC_EBCDIC" | 文字集合と符号の組み合わせを指定します。指定できる組み合わせは以下の通りです。
|