2017-06-04 3 views
0

私はデータベースコネクタに渡す前にdatamapperを使用してペイロードをコレクションに変換しています。私はここで何が欠けていますか?データベースコネクタにエラーが発生しました:「バルクモード操作でペイロードとしてIterable/Iteratorが必要です。代わりにjava.util.LinkedHashMapを取得してください」

ここでは、コードです:あなたの入力がリストされますが、バッチステップでそれが単一のレコードされるように

`<data-mapper:config name="CSV_To_Map"` 

transformationGraphPath="csv_to_map.grf" doc:name="CSV_To_Map"/> 
    <batch:job name="batchcustomerimport3.6.0Batch1"> 
     <batch:input> 
      <file:inbound-endpoint path="C:\Users\hhernandez\testworkspace411\batchcustomerimport3.6.0Collection\src\test\resources\in" moveToPattern="#[message.inboundProperties.originalFileName]" moveToDirectory="C:\Users\hhernandez\testworkspace411\batchcustomerimport3.6.0Collection\src\test\resources\out" responseTimeout="10000" doc:name="File"> 
       <file:filename-regex-filter pattern="CustomerImportTest.csv" caseSensitive="true"/> 
      </file:inbound-endpoint> 
      <file:file-to-string-transformer doc:name="File to String"/> 
      <data-mapper:transform config-ref="CSV_To_Map" doc:name="CSV To Map"/> 
      <logger level="INFO" doc:name="Logger"/> 
     </batch:input> 
     <batch:process-records> 
      <batch:step name="Batch_Step"> 
       <db:update config-ref="Generic_Database_Configuration" bulkMode="true" doc:name="Database"> 
        <db:parameterized-query><![CDATA[UPDATE FBF05P 
SET STORE#X = #[payload['STORENO']] 
WHERE VIP#X = #[payload['CUSTID']]]]> 
       </db:update> 
      </batch:step> 
     </batch:process-records> 
     <batch:on-complete> 
      <logger level="INFO" doc:name="Logger"/> 
     </batch:on-complete> 
    </batch:job> 

答えて

0

<batch:step name="Batch_Step"> 
       <batch:commit doc:name="Batch Commit" size="500"> 
        <db:update config-ref="Generic_Database_Configuration" bulkMode="true" doc:name="Database"> 
         <db:parameterized-query><![CDATA[UPDATE FBF05P 
SET STORE#X = #[payload['STORENO']] 
WHERE VIP#X = #[payload['CUSTID']]]]></db:parameterized-query> 
        </db:update> 
       </batch:commit> 
      </batch:step> 

commit.likeバッチを使用してレコードを更新するために、あなたのバッチのステップを変更

は、地図。したがって、バッチコミットを使用すると、更新のためにレコードの束を送ることができます。

これが役に立ちます。

+0

それでした!迅速な対応をありがとうございます。 –

関連する問題