2017-10-09 10 views
-2

新しいドキュメントのftpsバッチのベストプラクティスを知りたい。ドキュメントをバッチ処理してリモートサーバにftpするサービスで作業する。特定の日に到着したドキュメントの数など、報告目的で到着した各ドキュメントのトランザクションログを保持します。 ftp接続の失敗などの理由で転送できなかった端末の数。何らかの理由でアプリが失敗した場合、その端末はどこから離れた場所から処理できるはずです。ドキュメントのFTPバッチ

私は考えることができる可能性が以下の通りです:

  1. 障害復旧時に、それがでたところから始めることができるように、各ドキュメントのトランザクション詳細とともにだけでなく、データベース内の文書をロードします。

  2. ドキュメントをローカルファイルシステムに保存し、このフォルダにfileWatcherをftpに書き込みます。

  3. 到着したらすぐにドキュメントを書き留めてください。その場合、たくさんのドキュメントが届くと、OutOfMemoryErrorという結果になるかもしれません。

エラーリカバリと非メモリ集中の面で優れたアプローチですか?

+0

これは非常に幅広い質問です。これにアプローチする方法は数多くあります(提案のリストには含まれていないいくつかの方法が含まれます)。残念なことに、このタイプの質問は、StackOverflowの話題とは異なります。 –

答えて

-1

「ベスト」は非常に広い言葉ですが、アプリケーションの要件についてはわかりませんが、その面ではApache Camelの優れたアプリケーションのようです。 Camelは、Javaアプリケーションに組み込むことも、スタンドアロンアプリケーションとして実行することも、Springと統合することも、アプリケーションサーバー上で実行することもできます。 JavaコードやXMLなどで動作を指定できます。

特定のパターンに一致するファイルの特定のファイルシステムディレクトリを監視し、FTPまたはFTPS(または他の多くの方法)を使用してリモートマシンにアップロードするキャメルルートを作成することは簡単です(Camelを知っている場合)。単純なケースでは、この動作を指定するには、JavaまたはXMLの1行または2行しか必要ありません。ロギングとデータ収集をコードに簡単に追加することができます。

キャメルはこの種のアプリケーションに非常に広く使用されており、膨大な数のファイルでは苦労していないようです。

もちろん、これが適切なアプローチであるかどうかは、あなたがキャメルをどれだけうまく知っているか、またはあなたがキャメルについて学んで喜んでいるかどうかによって決まります。同じように良いアプローチがあると確信しています。

+0

@downvoter:理由を説明する気がする? –

関連する問題