2016-06-30 3 views
1

Apache camel 2.13.2を使用しており、includeパラメータで指定されたファイル式に基づいてファイルを取得するためにFTPに接続しようとしています。私は、FTPアカウントのフォルダにファイルがあるのがわかりますが、ラクダはファイルをプルしません。ログに接続が成功したことがわかりますが、交換はnullとして返されます。他のftpアカウントでも同じコードが動作します。誰かが私が間違ってやっていることや、これを解決しようとすることができることを理解するのに役立つだろうか?Camel FTPインクルードフィルタに基づいてファイルを取得できません

ftp://[email protected]:21/testfolder/testfold/test?password=RAW(XXXXXXX)&binary=true&pollStrategy=#xxxFTPPollingConsumerPollStrategy&throwExceptionOnConnectFailed=true&sendEmptyMessageWhenIdle=true&delay=15000&maxMessagesPerPoll=30&stepwise=false&consumer.bridgeErrorHandler=true&idempotent=true&idempotentKey=${file:name}-${file:size}-${file:modified}&readLock=changed&include=.* 
+0

マインドを見つけることができます。 –

+0

他のftpの正規表現も同じです。インクルードフィルタを完全に削除しても、フォルダからファイルを取得することはありません。 – Ravi

+0

@Ravi "同じコードが他のftpアカウントで動作する"とはどういう意味ですか?同じラクダルートが他の資格情報と一緒に働くことはありますか? – ltsallas

答えて

0

最初に試してみてください。問題がないかどうかを確認してください。 (ファイル転送)ウィンドウエンコーディング対サーバとクライアントのファイアウォールとLinuxに応じて、いずれの場合においても

、次のURIパラメータに試してみる必要があります。

binary=true 
passiveMode=true 

倍の大半をpassiveModeラクダのリストファイルとファイルの転送に失敗し、ArrayOutOfBoundsエラーが発生することがあります。ダブルチェックするために

は、デバッグにラクダのログレベルを設定し、FTPコンポーネントのトレースする:

logging.level.org.apache.camel=DEBUG 
logging.level.org.apache.camel.component=TRACE 

passiveMode =真せずに、あなたはおそらくリストファイルは任意のファイルを見つけられないことがわかります。 FTPパッシブモードについて

詳細は `include`が正規表現ベースなので、何を使用すると、Javaの正規表現が一致した内容と一致するだろうことを確認していることhere

関連する問題