ブラウザからデータベースにコンテンツをアップロードする場合、ブラウザ側のファイルのアップロードに対するWebサーバーのメモリー使用量と、データベース側のファイルのアップロードに対するメディア・コンテンツのキャッシュに使用される一時ファイル・ディレクトリの両方を管理することが重要です。
HTTP POSTリクエストごとに、ブラウザからアップロードされたコンテンツは、指定されたメモリー制限に到達するまでサーバーのメモリーに一時的にキャッシュされます。次に、そのコンテンツは一時ファイルに出力されます。操作に関係なく、アップロードされたコンテンツを保持していたリソースは、各JSPページの最後に<jbo:ReleasePageResources>
タグによって解放されます。これは、メモリーが解放され、一時ファイルが削除されることを意味します。例外が発生した場合には、一時ファイル・ディレクトリに一時ファイルが残ることがあります。
BC4J構成には、各HTTP POSTリクエストに対するメモリー使用量の制限の設定に使用されるord.HttpMaxMemory
およびord.HttpTempDir
という2つのプロパティがあります。どちらのプロパティもオプションです。ord.HttpMaxMemory
のデフォルト値は102400バイトです。ord.HttpTempDir
のデフォルト値は、java.io.tmpdir
のシステム・プロパティ値です。
たとえば、BC4JのConfiguration Managerで次のように入力できます。
ord.HttpMaxMemory = 10000
ord.HttpTempDir = D:/temp
この例では、ブラウザからアップロードされるコンテンツが10000バイトを超える場合、そのコンテンツがD:/temp
ディレクトリに一時ファイルとして格納されるように指定しています。
また、一時ファイルは、Web層からデータベースにメディア・コンテンツをロードするために、BC4Jフレームワークによっても作成されます。これらの一時ファイルは、BC4J構成のjbo.tmpdir
プロパティで指定されたディレクトリの下のordpas
という名前のサブディレクトリにあります。この属性を指定しない場合は、JVMのシステム・プロパティであるuser.dir
が使用されます。
たとえば、BC4JのConfiguration Managerで次のように入力できます。
jbo.tmpdir = D:/temp
この例では、データベースへのファイルのアップロードで、一時ファイルの格納にD:/temp/ordpas
を使用するように指定しています。
ほとんどの一時ファイルは、トランザクションのコミットの際に、BC4Jフレームワークによって自動的に削除されます。ただし、トランザクションのロールバックまたは例外によってディレクトリに残る場合もあります。Webサーバー管理者は、これらの2つのディレクトリにあるファイルを定期的に確認および削除する必要があります。
すべてのBC4J interMedia UIX JSPデータ・タグのリストは次のトピックを参照してください。
BC4J Oracle Browser Look and Feelタグ・ライブラリ
<bc4juix:Media>タグを使用した埋込みビデオまたはオーディオの再生
<bc4juix:Image>タグを使用した埋込みイメージの表示
<bc4juix:Link>タグを使用したinterMediaドメイン・オブジェクトのURLの生成