IMSInteractionSpec プロパティー構成

IMS™ と 対話するには、構成済み IMSInteractionSpec オブジェクトを提供する必要があります。

Java™ アプリケーションが IMS と 対話をする場合は、構成済みの IMSInteractionSpec オブジェクトを提供する必要があります。 IMSInteractionSpec オブジェクトのプロパティーの値は、IMS との 対話を記述します。IMSInteractionSpec のプロパティーの値は共通クライアント・インターフェースを使用するアプリケーションによって、直接 set メソッドにより提供されるか、またはアプリケーションのコードを生成する IDE のウィザードに提供される場合があります。 プロパティーの中には入力専用プロパティー、入出力プロパティー、出力専用プロパティーがあります。 出力専用プロパティーは、対話についての追加情報を決定するために Java アプリケーション (アプリケーション・コンポーネントともいう) によって問い合わせられます。

次のリストは、IMSInteractionSpec のすべてのプロパティーについて説明したものです。

altClientID
入力専用プロパティーで、代替クライアント ID の名前を指定するのに使用します。この名前は TPIPE として使用され、そこから非同期出力が共用可能永続的ソケット接続で検索されます。
このプロパティーは以下の基準でサポートされます。
  • 共用可能永続的ソケットを持つ TCP/IP 接続
  • 非同期出力メッセージの検索 (resumeTpipe 要求) に有効な対話 Verb: SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT、 および SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT
  • Commit Mode 0 対話 (ローカル・オプションでは使用できません)
  • 専用ソケット接続では使用できません。
  • 転送名と代替クライアント ID は互いに排他的で、同時に指定はできません。
asyncOutputAvailable
出力専用プロパティーです。Java アプリケーションはこのプロパティーを使用して、コミット・モード 0 対話で使用される接続に関連した TPIPE に関して、キューに入れられた出力があるかどうかを判別することができます。 専用永続的ソケット接続では、TPIPE の名前は IMSConnectionSpec の clientID プロパティーの値です。 共用可能永続的ソケット接続では、TPIPE の名前は IMS Connector for Java によって 生成された値です。asyncOutputAvailable の値は、キューにメッセージがある場合は true になります。アプリケーション・コンポーネントは、入力には asyncOutputAvailable プロパティーを設定しません。: Java アプリケーションでこのプロパティーを使用している場合は、これを IMSInteractionSpec の出力プロパティーとして公開する必要があります。
convEnded
出力専用プロパティーです。Java アプリケーションは、 このプロパティーを使用して、会話が終了した (true) かどうかを 判別することができます。 アプリケーション・コンポーネントは、入力には convEnded プロパティーを設定しません。注: Java アプリケーションで このプロパティーを使用している場合は、これを IMSInteractionSpec の 出力プロパティーとして公開する必要があります。
commitMode
IMS トランザクションで 実行されるコミット・モード処理のタイプを示すために、IMS TM リソース・アダプターによって使用されます。 詳しくは、『コミット・モードの処理の概要』を参照してください。 commitMode プロパティーは、interactionVerb が SYNC_SEND_RECEIVE に 設定されている場合、0 または 1 に設定できます。 interactionVerb が SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT、 または SYNC_SEND に設定されている場合、IMS Connector for Java は commitMode 0 を使用します。interactionVerb が SYNC_END_CONVERSATION に 設定されている場合は、commitMode 1 が必要です。
commitMode が 0 で、対話に共用可能な永続ソケットが使用されている場 合は、clientID を指定してはなりません。共用可能永続的ソケットでの対話に commitMode 0 が指定されている場合は、トランザクションからの出力メッセージをパージまたは転送することができます。 プログラム間の切り替えで発生し、配信されなかった 2 次出力も、パージまたは転送できます。
対話に専用永続的ソケット接続が使用されている場合、commitMode は 0 でなければならず、 その接続で使用する IMSConnectionSpec の clientID プロパティーを提供する必要があります。 commitMode 0 の対話に専用永続的ソケットが使用されている場合は、配信されなかった出力メッセージは常にリカバリー可能であり、 パージも転送もできません。
socketTimeout
IMS Connector for Java が IMS Connect からの応答を待つ最長時間です。この時間が経過すると、ソケットが 切断され、クライアント・アプリケーションに例外が戻されます。 socketTimeout 値はミリ秒単位で表示されます。 ソケット・タイムアウトを使用する場合、ゼロより大きい値を指定する必要があります。 ある対話に関してソケット・タイムアウトが指定されていない場合、 またはソケット・タイムアウト値が 0 ミリ秒に設定されている場合には、 ソケット・タイムアウトは発生しません (つまり、無限に待機するようになります)。 詳しくは、『ソケット・タイムアウト』 および『ソケット・タイムアウト値の設定』を参照してください。
executionTimeout
IMS Connect が IMS に メッセージを送信し、応答を受信するために許されている最大時間です。 executionTimeout 値はミリ秒で表され、-1 または 1 から 3,600,000 の範囲内 (両端を含む) の 10 進数の整数である必要があります。すなわち、executionTimeout 値は、ゼロよりも大きく、かつ 1 時間以下である必要があります。このプロパティーに -1 が設定されている場合は、対話は時間制限なしで実行されます。 詳しくは、『実行タイムアウト』、『実行タイムアウト値の設 定』、および『有効な実行タイムアウト値』を参照してください。
imsRequestType
IMS 要求の タイプを示し、IMS TM リソース・アダプターが要求からの出力を取り扱う方法を決定します。 整数値は、以下のとおりです。
IMSInteractionSpecProperties の名前付き定数 説明
1

IMS_REQUEST_TYPE_IMS_TRANSACTION

この要求は IMS トランザクションです。 IMS が 戻す標準のトランザクション出力は、アプリケーションの出力メッセージにデータを 取り込むために使用されます。 IMS が 「DFS™」 メッセージを戻すと、IMS リソース・ アダプターは、その「DFS」 メッセージを含む IMSDFSMessageException をスローします。

imsRequestType のこの値は、WebSphere® Studio MFS サポートを使用しないで作成されるアプリケーションに使用されます。

2 IMS_REQUEST_TYPE_IMS_COMMAND この要求は IMS コマンドです。 IMS が 戻すコマンド出力 (「DFS」 メッセージを含みます) は、アプリケーションの出力メッセージにデータを 取り込むために使用されます。 IMSDFSMessageException はスローされません。

imsRequestType のこの値は、IMS コマンドを出すアプリケーションに 使用されます。

3

IMS_REQUEST_TYPE_MFS_TRANSACTION

imsRequestType のこの値は、WebSphere Studio MFS サポートを使用して作成されるアプリケーションのために予約されています。

IMS が 戻すトランザクションの標準出力および「DFS」 メッセージは、アプリケーションの出力メッセージにデータを取り込むために 使用されます。 IMSDFSMessageException はスローされません。

interactionVerb
Java アプリケーションと IMS の間で行われる対話のモードです。 IMS TM リソース・アダプターで現在サポートされている値は、以下のとおりです。
IMSInteractionSpecProperties の名前付き定数 説明
0 SYNC_SEND IMS TM リソース・アダプターは、IMS Connect から IMS に クライアント要求を送信しますが、IMS からの 応答は予期しません。 SYNC_SEND 対話では、クライアントは、IMS から応答を同期的に受信する必要はありません。 SYNC_SEND は、共用可能永続的ソケット接続と専用永続的ソケット接続の両方で サポートされており、commitMode 0 対話でのみ使用可能です。 interactionVerb を SYNC_SEND に設定すると、実行タイムアウト値とソケット・ タイムアウト値は無視されます。注: imsRequest タイプ 2 を SYNC_SEND とともに使用することはできません。例外が生成されます。
1 SYNC_SEND_RECEIVE IMS 対話を実行することにより、IMS への 要求の送信と応答の受信が同期的に行われます。 一般的な SYNC_SEND_RECEIVE 対話では、入力レコード (the IMS トランザクションの入力メッセージ) が IMS に送られ、IMS が出力レコード (IMS トランザクションの出力メッセージ) を戻す、という非会話型 IMS トランザクションが実行されます。 SYNC_SEND_RECEIVE 対話は、会話型 IMS トランザクションの 反復にも使用されます。 会話型トランザクションは commitMode 1 を必要とします。非会話型 トランザクションは、commitMode 1 を使用して実行することも、commitMode 0 を 使用して実行することもできます。専用永続的ソケットで commitMode 0 を 使用する場合は、IMSConnectionSpec の clientID プロパティーに値を指定する 必要があります。 共用可能永続ソケットで commitMode 0 を使用する場合は、IMSConnectionSpec の clientID プロパティー の値を指定してはなりません
3 SYNC_END_CONVERSATION interactionVerb を SYNC_END_CONVERSATION に設定してアプリケーションが 対話を実行する場合は、IMS TM リソース・アダプターはメッセージを送信して、IMS 会話型 トランザクションを強制的に終了させます。

interactionVerb に SYNC_END_CONVERSATION が指定されている場合は、IMSInteractionSpec プロパティーの commitMode、および IMSConnectionSpec プロパティーの clientID は適用されません。

4 SYNC_RECEIVE_ASYNCOUTPUT interactionVerb SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT は、共用可能永続的ソケット 接続と専用永続的ソケット接続の両方で有効です。 SYNC_RECEIVE_ASYNCOUTPUT は、 配信されなかった非同期出力を検索するために使用されます。 専用永続的ソケットで SYNC_RECEIVE_ASYNCOUTPUT を使用する場合は、IMSConnectionSpec の clientID プロパティーに値を指定する必要があります。

共用可能永続的ソケット接続での SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 対話は、元の SYNC_SEND または SYNC_SEND_RECEIVE 対話と同じアプリケーション内になければならず、かつ、 同じ共用可能永続的ソケット接続を使用しなければなりません。 これは、基本的には、実行タイムアウトに続いて発生します。

このタイプの 対話では、Java クライアントは、 単一のメッセージのみを受信できます。 要求が出されたときに clientID の IMS OTMA 非同期キューにメッセージがない場合は、メッセージを検索する試みは これ以上行われません。戻される メッセージはなく、SYNC_RECEIVE_ASYNCOUTPUT 対話の executionTimeout プロパティーで指定された時間が経過するとタイムアウトになります。

5

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_NOWAIT

interactionVerb

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_NOWAIT

共用可能永続的ソケット接続と専用永続的ソケット接続の両方で有効です。 これは、非同期出力を検索するために使用されます。
共用可能永続的ソケット接続での

SYNC_RECEIVE_ASYNCOUTPUT_ SINGLE_NOWAIT

対話は、元の SYNC_SEND または SYNC_SEND_RECEIVE 対話と同じアプリケーション内になければならず、かつ同じ共用可能永続的ソケット接続を使用しなければなりません。これは、基本的には、実行タイムアウトに続いて発生します。
このタイプの 対話では、Java クライアントは、 単一のメッセージのみを受信できます。 要求が出されたときに clientID の IMS OTMA 非同期キューにメッセージがない場合は、メッセージを検索する試みは これ以上行われません。

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT

対話の executionTimeout プロパティーで指定された時間が経過すると、戻されるメッセージなしでタイムアウトになります。
: 対話 Verb、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT、および

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_NOWAIT

は同じ機能を実行します。しかし、

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_NOWAIT

を使用することをお勧めします。
6

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_WAIT

interactionVerb

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_WAIT

非同期出力を検索するために使用されます。共用可能永続的ソケット接続と専用永続的ソケット接続の両方で有効です。
共用可能永続的ソケット接続での

SYNC_RECEIVE_ASYNCOUTPUT SINGLE_WAIT

対話は、元の SYNC_SEND または SYNC_SEND_RECEIVE 対話と同じアプリケーション内になければならず、 かつ同じ共用可能永続的ソケット接続を使用しなければなりません。これは、基本的には、実行タイムアウトに続いて発生します。
このタイプの 対話では、Java クライアントは、 単一のメッセージのみを受信できます。 要求が出されたときに clientID の IMS OTMA 非同期キューにメッセージがない場合は、IMS Connect は、OTMA がメッセージを戻すのを待ちます。 IMS Connect は、

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_WAIT

対話の executionTimeout プロパティーで指定された時間を待ってから、例外を戻します。

J2EE Connection Architecture (JCA) の値 SYNC_RECEIVE (2) は、 現在サポートされていません。

ltermName
IMS アプリケーション・プログラムの入出力 PCB の LTERM フィールドの値をオーバーライドするために 使用される LTERM 名です。 LTERM オーバーライドの使用方法については、「IMS Connect 手引きおよび解説書」(SC88-8911-00) を参照してください。

このプロパティーの値は、クライアント・アプリケーションが LTERM オーバーライド名を提供する場合に設定できます。この 名前は、IMS アプリケーション・プログラムの 入出力 PCB に入れられます。IMS アプリケーションは、 このオーバーライド値に基づいて論理決定を行います。

このプロパティーの値は、クライアント・アプリケーションが LTERM オーバーライド名を提供する場合に設定できます。この 名前は、IMS アプリケーション・プログラムの 入出力 PCB に入れられます。IMS アプリケーションは、 このオーバーライド値に基づいて論理決定を行います。

mapName
一般に、mapName フィールドには、Message Format Service (MFS) コントロール・ブロックの名前が含まれています。MFS は、 トランザクションの入力および出力メッセージのオンライン・フォーマットを 実行する、IMS のコンポーネントです。 IMS Connect は IMS OTMA を使用して IMS に アクセスするため、MFS オンライン・フォーマットはバイパスされます。 ただしその場合でも、Java アプリケーションは、mapName フィールドを 使用して、IMS アプリケーション・プログラムに MFS コントロール・ブロックの名前を入力したり、IMS アプリケーション・プログラムが提供する MFS コントロール・ブロックの名前を取り出したりすることができます。

入力の場合は、一般に mapName プロパティーの値は、MFS メッセージ出力記述子、すなわち「MOD」の名前です。MOD の 名前は、入出力 PCB に入れられて IMS アプリケーション・プログラムに提供されます。

出力の場合、mapName プロパティーの値は、MFS メッセージ出力記述子、すなわち「MOD」の名前です。これは、 トランザクション出力メッセージを入出力 PCB に挿入するときに IMS アプリケーション・プログラムが指定した MOD 名です。

: 入出力メッセージが WebSphere Studio MFS サポートによって生成されるエンタープライズ・サービスを使用する Java アプリケーションでは、mapName フィールドを使用しないでください。

入力の場合は、一般に mapName プロパティーの値は、MFS メッセージ出力記述子、すなわち「MOD」の名前です。MOD の 名前は、入出力 PCB に入れられて IMS アプリケーション・プログラムに提供されます。

出力の場合、mapName プロパティーの値は、MFS メッセージ出力記述子、すなわち「MOD」の名前です。これは、 トランザクション出力メッセージを入出力 PCB に挿入するときに IMS アプリケーション・プログラムが指定した MOD 名です。

入出力メッセージが WebSphere Studio MFS サポートによって生成されるエンタープライズ・サービスを使用する Java アプリケーションでは、mapName フィールドを 使用しないでください。

purgeAsyncOutput
これは入力プロパティーです。このプロパティーは、IMS Connect が配信されなかった出力をパージするかどうかを決定します。

このプロパティーは、共用可能永続的ソケット接続上で、IMS の 対話 verb である SYNC_SEND_RECEIVE を使用する対話でのみ有効です。 これは、専用永続的ソケット接続で行われる対話では無効です。 このプロパティーはコミット・モード 0 の対話に適用されます。 コミット・モード 1 の対話には適用されません。 ただし、コミット・モード 1 対話がプログラム間の切り替えを実行する場合、切り替えられたプログラムはコミット・モード 0 を実行するため、結果としてこのプロパティーが適用されます。

purgeAsyncOutput プロパティーが、共用可能永続的ソケット接続で実行される SYNC_SEND_RECEIVE 対話で指定されていない場合、デフォルトは TRUE で、以下の出力メッセージがパージされます。
  • 1 次 IMS アプリケーション・ プログラムによって入出力 PCB に挿入された、配信されなかった出力メッセージ。
  • プログラム間の切り替えによって起動された 2 次 IMS アプリケーション・ プログラムによって入出力 PCB に挿入された出力メッセージ。
reRoute
これは入力プロパティーです。

このプロパティーは、共用可能永続的ソケット接続上で、IMS の 対話 verb である SYNC_SEND_RECEIVE を使用する対話でのみ有効です。 これは、専用永続的ソケット接続で行われる対話では無効です。 このプロパティーはコミット・モード 0 の対話に適用されます。 コミット・モード 1 の対話には適用されません。 ただし、コミット・モード 1 対話がプログラム間の切り替えを実行する場合、切り替えられたプログラムはコミット・モード 0 を実行するため、結果としてこのプロパティーが適用されます。 このプロパティーは、 配信されない出力を、reRouteName フィールドで指定された宛先に転送するかどうかを 決定します。reRoute が TRUE の場合は、非同期出力は、生成された clientID の TPIPE にキューイングされません。 その代わり、非同期出力は、reRouteName フィールドで指定された宛先に キューイングされます。reRoute のデフォルト値は FALSE です。

reRoute と purgeAsyncOutput の両方を TRUE に設定すると、例外がスローされます。

reRouteName
このプロパティーは、非同期出力をキューに入れる宛先の名前を指定します。 reRoute が TRUE の場合は、このプロパティーは、指定された宛先を提供します。 reRoute が FALSE の場合は、reRouteName プロパティーは無視されます。
reRoute プロパティーが TRUE に設定され、reRouteName が 指定されていない場合は、reRouteName プロパティーの値は次のようになります。
  1. IMS Connect 構成ファイルで指定された値。
  2. IMS Connect 構成ファイルで値が指定されていない場合は、値「HWS$DEF」が使用されます。
reRouteName プロパティーで有効な値は、以下のとおりです。
  • 1 文字から 8 文字までの英数字 (A-Z、0-9) または特殊文字 (@、#、$) のストリングでなければならない。
  • 文字ストリング「HWS」で始まってはならない。
  • IMS Connect ポート番号であってはならない。
  • 小文字を使用した場合、その文字は大文字に変更される。

プロパティー reRouteName は、共用可能永続的ソケット接続での SYNC_SEND_RECEIVE 対話でのみ有効です。これは、専用永続的ソケット接続で行われる対話では無効です。

syncLevel
これは入力プロパティーです。syncLevel は、IMS Connector for Java と IMS OTMA 間の対話の同期レベルです。 有効な同期レベル値は、0 (NONE) および 1 (CONFIRM) です。syncLevel プロパティーは interactionVerb プロパティーの値 SYNC_SEND_RECEIVE および SYNC_SEND にのみ適用され、commitMode プロパティーとの組み合わせで使用されます。このプロパティーは会話型アプリケーションと非会話型アプリケーションの両方に適用されます。
コミット・モード 1
同期レベル 0 および 1 が有効です。0 がデフォルト値です。 例えば、interactionVerb プロパティーが SYNC_SEND_RECEIVE に設定されており、commitMode プロパティーが 1 に設定されている場合は、syncLevel プロパティーを設定する必要はありません。 0 または 1 以外の値が setSyncLevel(int) メソッドに渡されると、例外がスローされます。
コミット・モード 0
同期レベル 1 が唯一の有効な値です。このコミット・モードでは同期レベルを設定する必要はありません。 1 以外の値が setSyncLevel(int) メソッドに渡されると、例外がスローされます。
プログラム間の切り替えによりトリガーされるプログラムは、発信元プログラムの同期レベルに関係なく常にコミット・モード 0 で処理されます。 このため、これらのプログラムからの 2 次出力は、元の対話の reRoute および purgeNotDeliverable プロパティーの設定に従って、転送キューに入れるか、パージすることができます。

フィードバック