0

私は信用組合で働いています(約60Kのアカウント)。ステートメントプロセスは70年代のものであり、データをレイアウトに緊密に結合しました。つまり、ジョブを実行すると、各アカウントのステートメントを含むテキストファイルが生成されます。メインフレームの構成を変更しましたが、テキストを出力する代わりに、次のようなXMLを取得します。

<statements>
    <statement account='1'>
       ...statement info like checking/savings/certificate/visa/loan/heloc shares
    </statement>
    <statement account='N'>
       ...statement info like checking/savings/certificate/visa/loan/heloc shares
    </statement>
</statements>

リレーショナルテーブルからデータをプルし、iTextを使用してその場でPDFを作成するJavaコードを作成しました。ステートメントに表示されるデータの一部は、XMLのデータから計算されます。たとえば、XMLには共有上のすべてのトランザクションが含まれています。明細書には、貸方の数と借方の数を示したいと思います。DBに読み込まれると、ビューを使用してこれらの値をその場で計算し、データをJavaアプリに提供できます。

このXMLファイルは最大900MBであり、メンバーを追加するにつれて大きくなります。

xmlを一度に1つの「ステートメント」で処理したいと思います。 http://mrico.eu/entry/parsing_chunks_of_xml_documents

JAXBは大きなXMLファイルをチャンクで解析できますか

個別のステートメントを作成したら、そのシェア(小切手、普通預金、ビザなど)を対応するDBテーブルにロードします。

これを実現する最も簡単な方法は、ステートメントをPOJOにバインドしてから、POJOの複雑な要素(共有、トランザクション、またはローン)ごとに挿入を実行することです。

パーサー/バインダー/永続化ツールのどの組み合わせをお勧めしますか?

個人的には、生のJDBCインサートを好むので、パーサーとバインダーの問題がより重要です。

注:XMLのスキーマを作成することもできますが、メインフレームがXMLファイルを作成する方法が原因で壊れやすい可能性があります。FiservのSpectrumソフトウェアを使用している人は誰でも、私の痛みを感じます。

4

1 に答える 1

0

XMLのストリーミングAPIであるStAXをご覧ください。

于 2010-12-01T15:10:20.227 に答える