GAE缓存JSF2应用程序作为静态站点

时间:2013-02-07 15:39:11

标签: google-app-engine jsf

我有一个非常简单的公司资料网站,我正在使用JSF2进行开发,我使用的唯一动态参数是确定使用PrettyFaces完成的显示语言。该网站不使用任何AJAX。

使用JSF2的唯一真正原因是Facelets模板机制,用于维护整个站点的布局,CSS和JS。

我希望GAE在首次执行时从JVM加载内容,然后将内容缓存为后续请求的静态Facelets文件。我注意到静态图像文件的加载速度比任何Java生成的代码都快,特别是在第一次请求时。

是否有任何方法可以使用appengine-web.xml或faces-config.xml来实现此功能?

1 个答案:

答案 0 :(得分:1)

AFAIK没有办法自动开箱即用的servlets / facelets响应缓存。但是,您总是可以写your own caching servlet filter

OTOH,所有GAE响应都由Google CDN缓存透明地缓存。您可以通过向其添加Cache-control HTTP标头来实现任何响应的缓存。

请注意,缓存无法以编程方式过期,因此如果您将缓存时间设置为一小时,那么现有用户需要一小时才能获得新内容,因此您应该谨慎使用代码。