リクエストに応じてデータを切り取ってイメージを生成するJavaサーブレットがあります。潜在的には何百万もの画像があり、一度生産すると再レンダリングする必要がないので、それらをキャッシュしてレンダリングのステップを避けたいのはかなり面倒です。Java Webサーバーから外部ファイルをリンクする
私はキャッシュが正常に動作していますが、Webアプリケーションのデプロイメント間にこれらのレンダリングされたイメージが残っている必要があります。つまり、ドキュメントベースに書き込むことができないか、再デプロイ時に破棄されます。
私がやってきたことは、Webアプリケーションがwarファイル(コンテキストはMETA-INF/context.xmlにあります)としてデプロイされているため、Contextの 'allowLinking'属性を使用しています。これは、アプリケーションがアンデプロイされる前にシンボリックリンクを解除する必要があるので、やや面倒です。そうしないと、リンク内のイメージは破棄されますが、動作するようです。
しかし、これはTomcatでのみ機能し、JBoss(5.1)でテストする場合、シンボリックリンクを尊重しているようではなく、ドキュメントベース以外のものにリンクすることはできません。私は、これを実現するためのより現実的な方法がすべてのJava Webサーバーで機能する必要があると考えています。私は何が欠けていますか?
最初は良いアイデアです。本質的にデフォルトのサーブレットを書き直しました。キャッシュから配信するか、要求に応じてレンダリングするために同じURLが必要なので、2番目の方法は難しいでしょう。私がより良い解決策を得られないなら、私はあなたを受け入れられる答えとしてマークします。 – rjcarr
私はここであなたの提案を受けました。「外部ディレクトリからイメージを提供するサーブレットを構成するだけでよい」と私は自分のソリューションに使用しています。提案に感謝し、リンクを扱うよりはるかに良い! – rjcarr