Skip navigation.

大きなファイルの非 XML への変換サンプル

このサンプルでは、大きいファイルを一連の非 XML レコードに分割して操作する必要のあるアプリケーションのアーキテクチャに適した設計パターンを示します。 このパターンでは、ファイル コントロールで大きい XML ファイルを読み込み、そのファイルを個別のレコードに分割します。 分割した個別のレコードはデータベースに挿入されます。

注意 : このサンプルは dev2dev で提供されていますが、BEA のサポート対象外です。

サンプルの動作

このサンプルは、1 つの同期ビジネス プロセスと関連アイテム (ファイル イベント ジェネレータ、ファイル コントロール、スキーマなど) を含む単一の WebLogic Integration アプリケーションで構成されます。 ファイル イベント ジェネレータは、大きい XML ファイルのディレクトリをポーリングするために使用されます。 ファイル イベント ジェネレータは、ファイル名で渡すようにコンフィグレーションされています。 次にファイル コントロールが使用され、ファイルがレコードごとに読み込まれます。 このレコードは MFL を使用して解析されます。 このサンプルの場合、顧客レコードを含む CSV ファイルが使用されます。 顧客レコードは WLI サンプル ドメインの CUSTOMER テーブルに挿入されます。

この CSV ファイルでは、次のフォーマットが使用されています。

28,CUSTOMER,2315 N First St,San Jose,CA,95131,408,570-8884

サンプル ドメインの CUSTOMER テーブルには、次のデータが挿入されます。

CUSTID INT 10
NAME VARCHAR 40
ADDRESS VARCHAR 40
CITY VARCHAR 40
STATE CHAR 2
ZIP VARCHAR 11
AREA_CODE CHAR 3
PHONE CHAR 9

サンプルの動作のしくみ

このサンプルでは、DB コントロールのバッチ挿入を使用する実装を提供します。 このコントロールは既存の DB コントロールのラッパーとしてビルドされます。 この実装では、トランザクション ブロックでバインドされたループ内で DB コントロールのバッチ挿入を使用して、トランザクションがタイムアウトするまでに処理するレコード数を制限します。 これにより、大きいファイルを処理しても JTA がタイムアウトしません。

次の図に、サンプルのアーキテクチャを示します。


大きなファイルの非 XML への変換サンプル

必須ソフトウェア

このサンプルには次のソフトウェアが必要です。

補足資料

このサンプルには、アプリケーション コードに加えて次の項目が含まれています。

ダウンロード方法

大きなファイルの非 XML への変換サンプル、および WLI Common Utilities は dev2dev のダウンロード ページからダウンロードできます。