0

org.apache.commons.net.ftp.FTPClientを使用してリモートFTPサーバーからファイルをダウンロードするステートレスセッションBean(JBOSSコンテナー内)があります。次に、ファイルをローカルのシステムtmpディレクトリ(java.io.tmpdir)に一時的に保存し、主にHibernateを使用してデータベースに追加することでコンテンツを処理します。

現在、EJB仕様では、java.io.File、java.io.FileInputStreamなどを使用しないように指示されています。基本的に、「直接」のファイルシステムアクセスは一切行いません。

今、私は自分の仕事をどのように行うことになっていますか?誰かがヒント、リンク、例を持っていますか?

前もって感謝します

mostart

4

3 に答える 3

0

着信ファイルを保存するための独自のローカル/リモートftpサーバーを用意するのはどうですか?次に、FTPClientを使用するだけで、ファイルシステムに直接アクセスすることはありません。

于 2012-11-22T10:49:28.417 に答える
0

わかりました。ファイルシステムに一時的に保存するのではなく、ダウンロードストリームを直接操作するようにモジュラーをリファクタリングできることがわかりました。

ヒントをありがとう。

于 2012-11-22T11:05:46.727 に答える
0

後でアプリケーションで使用するデータを保存するために、ローカルファイルシステムにアクセスしないでください。アプリケーションがクラスター上にある場合、ローカルに保存されたファイルには各クラスターメンバーからアクセスできません。そのため、ドキュメントではjava.ioの使用をまったく推奨していません。これは、このような不整合を回避するための最も簡単な方法です。

ただし、Beanのライフサイクルが終了する前に削除できる一時ファイルのみを操作する必要がある場合は、心配することなくjava.ioを使用できます。重要なのは、後でアプリからアクセスしたいものをローカルに保存しないことです。

于 2015-02-03T14:24:40.830 に答える