Vaadin AbstractJavaScriptComponent:防止浏览器javascript缓存

Vaadin AbstractJavaScriptComponent:防止浏览器javascript缓存,javascript,vaadin,Javascript,Vaadin,我的vaadin应用程序中有一个自定义javascript组件,它扩展了AbstractJavaScriptComponent @JavaScript({"javaScriptConnector.js", "MyComp.js", "MyCompHtml.js"}) public class MyComp extends AbstractJavaScriptComponent { ..... ..... } 每当我对MyComp.js进行更改时,我都需要清除浏览器缓存以查看更改。这在我开发应用

我的vaadin应用程序中有一个自定义javascript组件,它扩展了
AbstractJavaScriptComponent

@JavaScript({"javaScriptConnector.js", "MyComp.js", "MyCompHtml.js"})
public class MyComp extends AbstractJavaScriptComponent {
.....
.....
}
每当我对MyComp.js进行更改时,我都需要清除浏览器缓存以查看更改。这在我开发应用程序时是可以的,但我不能要求我的用户在应用程序上线后清除缓存


有没有办法防止浏览器缓存MyComp.js?我知道将查询字符串附加到javascript的技巧(例如:
MyComp.js?v=1
),但我不知道如何对vaadin
AbstractJavaScriptComponent

,我通过使用vaadin servlet配置的
resourceCacheTime
参数克服了这一点:

@JavaScript({"javaScriptConnector.js", "MyComp.js", "MyCompHtml.js"})
public class MyComp extends AbstractJavaScriptComponent {
.....
.....
}
@VaadinServletConfiguration(ui=MyUI.class,resourceCacheTime=0)

有关默认值,请参见

将此值设置为
0
将添加以下响应标题:

缓存控制:公共,最大年龄=0,必须重新验证

每次都指示缓存重新验证此资源

com.vaadin.server.communication.PublishedFileHandler.HandlerRequest
是创建已发布文件响应的位置。这里的问题是,这是所有已发布资源的全局设置,因此定制此设置的唯一方法是创建已发布的文件处理程序

也许VaADIN会考虑添加另一个选项到@ JavaScript /@样式表注释,以实现更具体的资源缓存时间。