最近一个项目,需要用jetty(6.24)+DWR(2.06)实时push数据,在内网测试环境该请求/dwr/call/plainpoll/ReverseAjax.dwr
按默认的1分钟刷新一次长连接,可一配置到外网的服务器上,开始是按1分钟刷新,过一段时间就变成1秒刷新一次了,换一台外网的服务器部署,依然是同样的问题。
不知谁遇到过类似的问题,或知道如何去设置长连接刷新的时间间隔(网上搜了很多资料,许多次尝试后没见生效)。 以下是web.xml关于dwr的配置: <servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>maxWaitAfterWrite</param-name>
<param-value>-1</param-value>
</init-param>
<init-param>
<param-name>disconnectedTime</param-name>
<param-value>180000</param-value>
</init-param> </servlet>
按默认的1分钟刷新一次长连接,可一配置到外网的服务器上,开始是按1分钟刷新,过一段时间就变成1秒刷新一次了,换一台外网的服务器部署,依然是同样的问题。
不知谁遇到过类似的问题,或知道如何去设置长连接刷新的时间间隔(网上搜了很多资料,许多次尝试后没见生效)。 以下是web.xml关于dwr的配置: <servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>maxWaitAfterWrite</param-name>
<param-value>-1</param-value>
</init-param>
<init-param>
<param-name>disconnectedTime</param-name>
<param-value>180000</param-value>
</init-param> </servlet>
解决方案 »
- 怎样知道登录网页的真实登录地址
- document可以直接点name的值吗?
- 用js脚本点击页面button,页面跳转后,如何继续执行下面js脚本
- 谁能帮我解释一下下面这段代码
- (function(a) {})(jQuery);
- 关于面向对象JavaScript的问题
- 问题1:怎么用getElementById取属性?问题2:怎么灵活操作getElementById?
- 问个用js判断空值问题不知道少什么
- 如何在JS定义一个变量然后在html的DOM节点里面使用??
- 闷:程序员为什么跳槽?(不好意思,非技术区人少)
- 缺少对象document.getElementById("top").style.height=screen.height/5+"px;";
- extjs formpanel 上传问题
实际上,假设你使用一个名为disconnectedTime的参数,但是由于2.0.2版本之前的DWR存在一个错误,
因此必须使用timeToNextPoll。要记住,如果升级DWR版本,没有正常使用参数,应用程序可能会失效。在js页面端加上下面一句就可以了:
dwr.engine.setActiveReverseAjax(true);
org.directwebremoting.impl.ContainerUtil: public static void setupDefaults(DefaultContainer container, ServletConfig servletConfig) throws InstantiationException, IllegalAccessException
{
........ if (servletConfig.getServletContext().getServerInfo().startsWith("jetty_"))
//应为.startsWith("jetty"))
.......
}