3

Apache Camel Bindy を使用して、さまざまなデータ モデルの csv ファイルを処理しています。たとえば、ファイル 1 はデータ モデル オンで、ファイル 2 はデータ モデル 2 です。キャメル ルートでは、BindyCsvDataFormat の 2 つの呼び出しを次のように異なるデータ モデルに関連付けました。

<bean id="bindyDataformat" class="org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat">        
    <constructor-arg name="type" value="com.barclays.creditit.cls.eoddata.model.risk.DataModel1" />
</bean>

<bean id="aBindyDataformat" class="org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat">
    <constructor-arg name="type" value="DataModel2" />
</bean>

ルートは次のようになります。

        <from uri="direct:start"/>
        <bean ref="fileReader"/>
        <unmarshal ref="bindyDataformat" />
        <bean ref="flattener"/>
        <bean ref="fileReader"/>
        <unmarshal ref="aBindyDataformat" />
        <bean ref="flattener"/>

ただし、コードを実行すると、ファクトリには、実行ごとに 1 つではなく、2 つのモデルが自動的に関連付けられます。また、両方のファイルが最初のデータ モデルのオブジェクトに読み込まれ、2 番目のデータ モデルには読み込まれません。これを機能させる方法について何か提案はありますか?

ありがとう!

4

1 に答える 1

0

異なるファイル フィルターで 2 つの異なるルートを作成し、Bindy フォーマッターの 1 つを使用して別々に処理します。

于 2014-03-19T20:21:08.510 に答える