第89章 JT400


JT/400 コンポーネント

jt400 コンポーネントを使用すると、データキューを使用して AS/400 システムでメッセージを交換できます。

URI 形式

jt400://user:password@system/QSYS.LIB/LIBRARY.LIB/QUEUE.DTAQ[?options]
Copy to Clipboard Toggle word wrap
リモートプログラムを呼び出す(Camel 2.7)
jt400://user:password@system/QSYS.LIB/LIBRARY.LIB/program.PGM[?options]
Copy to Clipboard Toggle word wrap
URI にクエリーオプションは ?option=value&option=value&.. の形式で追加できます。

URI オプション

データキューのメッセージ交換の場合:
Expand
名前 デフォルト値 説明
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:* EQNELTLEGT、または GE の値である検索タイプ。
connectionPool AS400ConnectionPool インスタンス *Camel 2.10:* レジストリーの com.ibm.as400.access.AS400ConnectionPool インスタンスへの参照。これは、AS/400 システムへの接続を取得するために使用されます。検索表記法('#' 文字)を使用する必要があります。
secured false Camel 2.16: AS/400 への SSL 接続を使用するかどうか。
リモートプログラム呼び出しの場合(Camel 2.7):
Expand
名前 デフォルト値 説明
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 エンドポイントに転送します。
public class Jt400RouteBuilder extends RouteBuilder {

    @Override
    public void configure() throws Exception {
       from("direct:george").to("jt400://GEORGE:EGROEG@LIVERPOOL/QSYS.LIB/BEATLES.LIB/PENNYLANE.DTAQ");
       from("jt400://RINGO:OGNIR@LIVERPOOL/QSYS.LIB/BEATLES.LIB/PENNYLANE.DTAQ").to("mock:ringo");
    }
}
Copy to Clipboard Toggle word wrap

リモートプログラム呼び出しの例(Camel 2.7)

以下のスニペットでは、direct:work エンドポイントに送信されたデータ Exchange には、ライブラリー assets のプログラム compute の引数として使用される 3 つの文字列が含まれます。このプログラムは、2nd パラメーターおよび 3rd パラメーターに出力値を書き込みます。すべてのパラメーターは direct:play エンドポイントに送信されます。
public class Jt400RouteBuilder extends RouteBuilder {
    @Override
    public void configure() throws Exception {
       from("direct:work").to("jt400://GRUPO:ATWORK@server/QSYS.LIB/assets.LIB/compute.PGM?fieldsLength=10,10,512&ouputFieldsIdx=2,3").to("direct:play");
    }
}
Copy to Clipboard Toggle word wrap

キーデータキューへの書き込み

from("jms:queue:input")
.to("jt400://username:password@system/lib.lib/MSGINDQ.DTAQ?keyed=true");
Copy to Clipboard Toggle word wrap

キーデータキューからの読み取り

from("jt400://username:password@system/lib.lib/MSGOUTDQ.DTAQ?keyed=true&searchKey=MYKEY&searchType=GE")
.to("jms:queue:output");
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat