-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major
-
Affects Version/s: 1.1.0-rc-1, 1.0.19
-
None
一度読み込まれたViewテンプレートのファイルを削除しても、
削除前のファイルで正常に表示される、という現象を確認したので
調査した所、Viewテンプレートをキャッシュしている箇所で、
ファイルの存在チェックが行われない事が原因だと判明しました。
期待する動作は、アプリケーションサーバーの稼働中に削除した
Viewテンプレートへのアクセスが、アプリケーションサーバーの再起動なしに
PathNotFoundRuntimeExceptionとなる事です。
そこで、該当箇所を下記の通り修正した所、期待する動作となりました。
org.seasar.jsf.runtime.ViewTemplateImplの55行目
return getLastModified() > lastModified;
を
return !file.exists() || getLastModified() > lastModified;
に変更。
org.seasar.jsf.runtime.ViewTemplateFactoryImplの86行目
if (template != null) {
を
if (template != null && !template.isModified()) {
に変更。