如何在Wildfly上禁用缓存

时间:2016-06-08 14:28:57

标签: java caching jboss wildfly

我正在使用VRaptor 4和Wildfly 9,我意识到我在localhost上的导航,刷新或者对其他页面的调整,HTML内容正常重新加载。但在另一台主机(例如:生产)中,我需要清除浏览器缓存以刷新页面。示例:如果我发送消息以在视图中显示警报并在其他页面之间导航,并且我转到上一页,则仍会显示警报。我需要清除缓存以禁用警报。

我该如何解决?

1 个答案:

答案 0 :(得分:7)

您可以在下方子系统中设置响应标头过滤器。

<subsystem xmlns="urn:jboss:domain:undertow:1.2">
   ...
   <server name="default-server">
      <host name="default-host" alias="localhost">
         ...
         <filter-ref name="cache-control" predicate="path-suffix['.jsp'] or path-suffix['.jsf']"/>
      </host>
   </server>

   <filters>
      <response-header name="cache-control" header-name="Cache-Control" header-value="no-cache"/>
   </filters>
</subsystem>

关于谓词过滤器语法,请参阅http://undertow.io/undertow-docs/undertow-docs-1.2.0/predicates-attributes-handlers.html。它很强大。我上面的示例将为每个jsp / jsf页面发送一个无缓存的Cache-Control标头,这在用户体验和服务器负载方面可能是非常邪恶的。选择不要缓存的东西。