1.12. OLF/TP Adapter

1.12.1. OLF/TP Adapterに関する設定

OLF/TP Adapterを使用するには、OLF/TP Adapterの動作環境についての設定を行う必要があります。OLF/TP Adapterでは、実行時に通信環境定義(OLFAdapter.ini)、端末定義(OLFAdapter.xml)を参照して動作します。これらのファイルは通信に使用するリソース及び接続先の情報を定義しています。

これらの設定に加え、配備記述子(ra.xml)とよばれるOLF/TP Adapterのプロパティを設定する必要があります。配備記述子はJ2EEコネクタアーキテクチャ準拠の設定ファイルで、リソースアダプタのプロパティ情報を設定します。

1.12.2. 通信環境定義(OLFAdapter.ini)

OLF/TP Adapterを使用してバックエンドサーバと通信するには、まず通信に使用するリソースを定義します。通信環境定義は以下のファイルを編集してください。

<OLF/TP Adapterインストールディレクトリ>/Adapter/OLFTP/Run/conf/OlfAdapter.ini

本定義では、以下の情報を定義します。

表1.12.2-1
プロパティ名 既定値 説明
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ファイルに追記が必要です。)

1.12.3. 端末定義(OLFAdapter.xml)

OLF/TP Adapterを使用しての通信相手となるホストの情報を定義します。端末定義は以下のファイルを編集してください。

<OLF/TP Adapterインストールディレクトリ>/Adapter/OLFTP/Run/conf/OlfAdapter.xml

本定義では、以下の情報を定義します。

表1.12.3-1
タグ名 既定値 説明
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サーバを停止してください。)

1.12.4. 配備記述子(ra.xml)

OLF/TP Adapterのプロパティを指定するファイルです。OLF/TP Adapterのプロパティは、<config-property>タグで指定します。管理環境にOLF/TP Adapterを配備する場合は、配備ツールでプロパティを設定します。非管理環境でOLF/TP Adapterを利用する場合は、サンプルのra.xmlをテキストエディタで編集してください。

OLF/TP Adapterのプロパティを以下に示します。

(注:大文字/小文字は区別されます)

表1.12.4-1
プロパティ名 既定値 説明
ASync java.lang.Boolean false OLF/TP Adapterで非同期電文受信を行う場合にtrueを指定します。
CodeType java.lang.String "JIPSE" 接続先ホストが使用しているコード種別を指定します。以下のコード種別が指定できます。(省略可)
  • JIPSE
  • JIPS
  • SJIS
  • EUC
EndianType java.lang.String "big-endian" 接続先ホストのendianタイプを指定します。指定できる値は以下の通りです。
  • big-endian
  • little-endian
ExecutionTimeout java.lang.Integer 60000 受信待ち時間をミリ秒単位で指定します(省略可)。InteractionSpecのExecutionTimeoutに-1を指定している場合、本指定を受信待ち時間として使用します。OLF/TP Adapterでは秒単位で受信を待ち合わせます。よって、待ち時間はExecutionTimeout/1000(秒)となります。0を指定した場合は受信が完了するまでAPコンポーネントに制御が戻りません。
HostType java.lang.String "ACOS4" 接続先のホスト種別を指定します(省略可)。以下のホスト種別が指定できます。
  • ACOS2
  • ACOS4
  • ACOS6
  • Windows
  • UNIX
JISType java.lang.String "JIS78" JIS年度を指定します(省略可)。本指定はCodeTypeが"JIPSE"、"JIPS"のときのみ有効です。以下の値が指定できます。
  • JIS78
  • JIS90
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" 通信プロトコルを指定します(省略可)。指定できる値は以下の通りです。
  • UT
  • UW
QueueName java.lang.String "" 非同期電文受信機能を使用する場合、JMSのQueueのJNDI名を指定します。
ServerName java.lang.String "" 接続先ホスト名を指定します。接続先ホスト名は、端末定義(OLFAdapter.xml)で定義しておく必要があります。
着信接続を行う場合にはタグそのものを記述しません。
TraceLevel java.lang.Integer 0 トレースレベルを指定します(省略可)。指定できる値は以下の通りです。
  • 0…エラートレース
  • 1…エラートレース+CCIトレース
  • 2…エラートレース+CCIトレース+SPIトレース
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の位置を指定します(省略可)。
UserName java.lang.String "" QueueConnectionを作成時のユーザ名を指定します(指定がない場合でも動作可能)
Password java.lang.String "" QueueConnectionを作成時のパスワードを指定します(指定がない場合でも動作可能)
RecordType java.lang.String "IndexedRecord" 非同期受信データ型を指定します。IndexedRecordとMappedRecordを指定可能です。デフォルトは、 IndexedRecord です。
UnpackType java.lang.String "EBCDIC_EBCDIC" 文字集合と符号の組み合わせを指定します。指定できる組み合わせは以下の通りです。
  • EBCDIC_EBCDIC…文字集合=EBCDIC/符号=EBCDIC(ACOS4)
  • ASCII_EBCDIC…文字集合=ASCII/符号=EBCDIC(ACOS4以外)
  • ASCII_ASCII…文字集合=ASCII/符号=ASCII(ACOS4以外MF-COBOL)