我认为这可能是问题的原因:
53169:允许开发人员通过设置Connection:close标头来避免对未知长度的响应进行分块编码。基于Philippe Marschall建议的补丁。(市场)
从baseStreamingHTTPEndPoint.java中的BlazeDS(4.0.0.14931)代码中:
718: res.setHeader("Connection", "close");
所以,我写了一个简单的过滤器:
@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { chain.doFilter(request, new HttpServletResponseWrapper( (HttpServletResponse) response) { public void setHeader(String name, String value) { if (!("Connection".equalsIgnoreCase(name) && "Close" .equalsIgnoreCase(value))) { super.setHeader(name, value); } } });}
使用web.xml中的配置:
<filter> <filter-name>MessageBrokerHack</filter-name> <filter-class> com.vivimice.testing.MessageBrokerHack </filter-class></filter><filter-mapping> <filter-name>MessageBrokerHack</filter-name> <url-pattern>/messagebroker/*</url-pattern></filter-mapping>
然后问题解决了。
在AIR客户端(Flex 4.5.1)和Tomcat 6.0.36&7.0.35上进行了测试
注意:尚未在常规RemoteObject调用上进行测试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)