0

ローカル ドライブに ftp ファイルをダウンロードしようとしています。次のエラーに直面しています

Message               : Object "java.lang.String" not of correct type. It must be of type "{interface java.lang.Iterable,interface java.util.Iterator,interface org.mule.routing.MessageSequence,interface java.util.Collection}" (java.lang.IllegalArgumentException)
Code                  : MULE_ERROR--2

バッチ処理を使用しました。以下は私の流れです。

バッチ処理の入力フローhttp(一方向)、次に処理レコードフェーズで、クラスにバインドされたJavaコンポーネントを使用しました。ftp サーバーからファイルをダウンロードする関数を 1 つ作成しました。私のメソッドは、引数なしでvoidを返すことです

     <batch:job name="filetosalesBatch1">
            <batch:input>
                <http:inbound-endpoint exchange-pattern="one-way" host="localhost" port="8088" doc:name="HTTP" path="test"/>
<component doc:name="Java" class="com.ReadFile">
                <no-arguments-entry-point-resolver>
                    <include-entry-point method="ftpDownloadFile"/>
                </no-arguments-entry-point-resolver>
                </component>
            </batch:input>
            <batch:process-records>
                <batch:step name="Batch_Step">
                    <logger level="INFO" doc:name="Logger"/>

                </batch:step>
            </batch:process-records>
            <batch:on-complete>
                <logger level="INFO" doc:name="Logger"/>
            </batch:on-complete>
        </batch:job> 

以下は私の方法です

public void ftpDownloadFile()
{
  // logic for downloading file
}

ミュールアプリケーションを使用すると、次のエラーが発生しました

Message               : Object "java.lang.String" not of correct type. It must be of type "{interface java.lang.Iterable,interface java.util.Iterator,interface org.mule.routing.MessageSequence,interface java.util.Collection}" (java.lang.IllegalArgumentException)

このエラーを解決する方法を教えてください

ありがとう

4

2 に答える 2

0

ファイルのダウンロードにカスタム コンポーネントを使用しないでください。FTP コンポーネントを使用してファイルの内容を取得し、その内容をリストに変換して、バッチで処理できるようにすることができます。

于 2015-01-13T15:36:01.620 に答える