Angularjs jersey标头响应未设置缓存,但未返回持久化数据

Angularjs jersey标头响应未设置缓存,但未返回持久化数据,angularjs,caching,jersey,restangular,Angularjs,Caching,Jersey,Restangular,我有一个jersey客户端返回json响应。我在我所有的回复中都粗略地设置了一个无缓存头。但是,当我进行更改时,当我看到数据库中的更改时……当我测试原始rest url时,除非我重新启动应用服务器Tomcat,否则不会返回我保存的数据 我没有使用ContainerResponseFilter设置缓存 public class HeaderResponseFilter implements ContainerResponseFilter { public void filter(

我有一个jersey客户端返回json响应。我在我所有的回复中都粗略地设置了一个无缓存头。但是,当我进行更改时,当我看到数据库中的更改时……当我测试原始rest url时,除非我重新启动应用服务器Tomcat,否则不会返回我保存的数据

我没有使用ContainerResponseFilter设置缓存

public class HeaderResponseFilter implements ContainerResponseFilter {

        public void filter(ContainerRequestContext request, ContainerResponseContext response) {
            MediaType type = response.getMediaType();
            if (type != null) {
                String contentType = type.toString();
                if (!contentType.contains("charset")) {
                    contentType = contentType + ";charset=utf-8";
                    response.getHeaders().putSingle("Content-Type", contentType);
                    response.getHeaders().putSingle("Cache-Control", "no-cache");
                }
            }
        }
}
我发现chrome中没有缓存设置为标头:

Cache-Control:no-cache
Content-Length:1986
Content-Type:application/json;charset=utf-8
Date:Tue, 30 Sep 2014 20:22:02 GMT
Server:Apache-Coyote/1.1
重新启动应用服务器..瞧,根据持久化的数据库记录,它就在那里

我将angularjs与Restangular一起使用,并且没有通过Angular/Restangular在客户端上明确设置任何缓存策略……目前不知道如何设置

这与angular/restangular无关,因为绕过它直接转到rest端点,我看不出Oracle中持久化了什么。这与浏览器中的本地缓存无关,因为当我在IE vs Chrome中尝试原始URL时,我也看不到它

--更新-- 已创建@NoCache注释以尝试该方法,在客户端中,我正在设置:

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
但是我不能禁用缓存!!救命啊

谢谢你的帮助

问候


似乎是在缓存我的JPA层

只有一个小应用,所以我禁用了EclipseLink共享缓存…现在它可以工作了

<persistence-unit name="xp-jpa" transaction-type="RESOURCE_LOCAL">        
        <shared-cache-mode>NONE</shared-cache-mode>