Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第89章 JT400
JT/400 コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
jt400
コンポーネントを使用すると、データキューを使用して AS/400 システムでメッセージを交換できます。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
jt400://user:password@system/QSYS.LIB/LIBRARY.LIB/QUEUE.DTAQ[?options]
jt400://user:password@system/QSYS.LIB/LIBRARY.LIB/QUEUE.DTAQ[?options]
リモートプログラムを呼び出す(Camel 2.7)
jt400://user:password@system/QSYS.LIB/LIBRARY.LIB/program.PGM[?options]
jt400://user:password@system/QSYS.LIB/LIBRARY.LIB/program.PGM[?options]
URI にクエリーオプションは
?option=value&option=value&.. の形式で追加できます。
URI オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
データキューのメッセージ交換の場合:
名前 | デフォルト値 | 説明 |
---|---|---|
ccsid
|
Default system CCSID | AS/400 システムとの接続に使用する CCSID を指定します。 |
format
|
text
|
有効なオプションを送信するためのデータ形式を指定します。text ( String で表現)および バイナリー ( byte[] で表されます)です。
|
consumer.delay
|
500
|
各ポーリングの遅延(ミリ秒単位)。 |
consumer.initialDelay
|
1000
|
ポーリングが開始するまでの時間(ミリ秒単位)。 |
consumer.userFixedDelay
|
false
|
true : ポーリング間の固定遅延を使用します。そうでない場合は、固定レートが使用されます。詳細は、JDK の ScheduledExecutorService を参照してください。
|
guiAvailable
|
false
|
Camel 2.8: Camel を実行している環境で AS/400 プロンプトが有効かどうかを指定します。 |
キー付き
|
false
|
*Camel 2.10:* キー化されたデータキューまたはキー以外のデータキューを使用するかどうか。 |
searchKey
|
null
|
*Camel 2.10:* キーで主要なデータキューのキーを検索します。 |
searchType
|
EQ
|
*Camel 2.10:* EQ 、NE 、LT 、LE 、GT 、または GE の値である検索タイプ。
|
connectionPool
|
AS400ConnectionPool インスタンス
|
*Camel 2.10:* レジストリーの com.ibm.as400.access.AS400ConnectionPool インスタンスへの参照。これは、AS/400 システムへの接続を取得するために使用されます。検索表記法('#' 文字)を使用する必要があります。 |
secured
|
false
|
Camel 2.16: AS/400 への SSL 接続を使用するかどうか。 |
リモートプログラム呼び出しの場合(Camel 2.7):
名前 | デフォルト値 | 説明 |
---|---|---|
outputFieldsIdx
|
出力パラメーターであるフィールド(プログラムパラメーター)を指定します。 | |
fieldsLength
|
フィールド(プログラムパラメーター)の長さを AS/400 プログラム定義で指定します。 | |
format
|
text
|
*Camel 2.10:* メッセージを送信するためのデータ形式を指定します: text ( 文字列 で表される)および バイナリー ( byte[] で表されます)
|
guiAvailable
|
false
|
*Camel 2.8:* Camel を実行している環境で AS/400 プロンプトが有効かどうかを指定します。 |
connectionPool
|
AS400ConnectionPool インスタンス
|
*Camel 2.10:* レジストリーの com.ibm.as400.access.AS400ConnectionPool インスタンスへの参照。これは、AS/400 システムへの接続を取得するために使用されます。検索表記法('#' 文字)を使用する必要があります。 |
使用方法 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
コンシューマーエンドポイントとして設定されている場合、エンドポイントはリモートシステムのデータキューをポーリングします。データキューのすべてのエントリーについて、フォーマットに応じて、In メッセージのボディーのエントリーのデータで新しい
エクスチェンジ
が送信され、String
または byte[]
に分類されます。プロバイダーエンドポイントの場合、In メッセージボディーの内容は raw バイトまたはテキストとしてデータキューに配置されます。
接続プール リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.10 以降で利用可能
接続プールは Camel 2.10 以降で使用されます。Jt400Component で接続プールを明示的に設定することも、エンドポイントの uri オプションとして明示的に設定できます。
リモートプログラム呼び出し(Camel 2.7) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このエンドポイントは、入力が String 配列または byte[] 配列のいずれかであることを想定し、ネイティブ jt400 ライブラリーメカニズムを介してすべての CCSID 処理を処理します。パラメーターは、位置の値として null を渡すと 省略 できます(リモートプログラムではサポートする必要があります)。プログラムの実行後、エンドポイントはプログラムによって返された値で
String
配列または byte[]
配列を返します(入力のみのパラメーターのみのパラメーターには、呼び出しの最初のデータと同じデータが含まれます)。このエンドポイントはプロバイダーエンドポイントを実装しません。
例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のスニペットでは、
direct:george
エンドポイントに送信されたエクスチェンジのデータは、LIVERPOOL
という名前のシステムのライブラリー BEATLES
のデータキュー PENNYLANE
に配置されます。別のユーザーは同じデータキューに接続してデータキューから情報を受け取り、これを mock:ringo
エンドポイントに転送します。
リモートプログラム呼び出しの例(Camel 2.7) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のスニペットでは、direct:work エンドポイントに送信されたデータ Exchange には、ライブラリー assets のプログラム compute の引数として使用される 3 つの文字列が含まれます。このプログラムは、2nd パラメーターおよび 3rd パラメーターに出力値を書き込みます。すべてのパラメーターは direct:play エンドポイントに送信されます。
キーデータキューへの書き込み リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
from("jms:queue:input") .to("jt400://username:password@system/lib.lib/MSGINDQ.DTAQ?keyed=true");
from("jms:queue:input")
.to("jt400://username:password@system/lib.lib/MSGINDQ.DTAQ?keyed=true");
キーデータキューからの読み取り リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
from("jt400://username:password@system/lib.lib/MSGOUTDQ.DTAQ?keyed=true&searchKey=MYKEY&searchType=GE") .to("jms:queue:output");
from("jt400://username:password@system/lib.lib/MSGOUTDQ.DTAQ?keyed=true&searchKey=MYKEY&searchType=GE")
.to("jms:queue:output");