打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CometD 2 Java 服务端配置
原文地址:
http://cometd.org/documentation/2.x/cometd-java/server/configuration
CometD 2 Java 服务端配置
提交的 sbordet 于星期四,2010/9/16-13:42。
CometD 2 Java 服务端配置
BayeuxServer和服务端传输参数可以在web.xml中指定为org.cometd.server.CometdServlet的初始化参数。如果CometD servlet创建BayeuxServer实例,这个servlet初始化参数将被传入配置在服务端传输的BayeuxServer实例中。
如果你是入门新手,那么 Maven 已经给你配了web.xml 文件,但在这里我们将详细介绍其配置。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.server.CometdServlet</servlet-class>
<init-param>
<param-name>timeout</param-name>
<param-value>60000</param-value>
</init-param>
<init-param>
<param-name>logLevel</param-name>
<param-value>3</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>cometd</servlet-name>
<url-pattern>/cometd/*</url-pattern>
</servlet-mapping>
</web-app>
这个org.cometd.server.CometdServlet必须在web.xml中定义和映射,否则它将不能解析bayeux协议。它通常会映射到/cometd/*,但你可以根据你希望的改变这个url。
BayeuxServer的配置
这是BayeuxServer实现给出的配置初始化参数列表:
参数名称
默认值
开始使用的版本
描述
logLevel
0
2.0.0
日志级别 ;0 = 关闭,1 = 配置,2 = 信息,3 = 调试
transports
空字符串
2.2.0
用逗号分隔ServerTransport实现类去增加默认的服务端传输(可以用org.cometd.server.BayeuxServerImpl作为唯一的构造参数)
allowedTransports
空字符串
2.2.0
允许使用逗号分隔多个ServerTransport,如果不指定,默认使用服务端的传输
jsonContext
org.cometd.server.JettyJSONContextServer
2.4.0
org.cometd.common.JSONContext.Server的实现类,这个类被默认构造函数加载和实例化。
服务端传输配置
在cometd 2中的服务端是可伸缩的,并可以指定有前缀参数引用的传输来配置。
例如:timeout没有前缀,因此它对所有传输都有效;
参数long-polling.jsonp.timeout只为轮询传输回调重写参数timeout,
而ws. Timeout是为websocket传输重写参数timeout(详情请阅读
org.cometd.bayeux.Transport文档)。
这是服务端传输可以配置初始化参数的列表:
参数名称
默认值
参数说明
timeout
30000
以毫秒为单位的时间,服务器等待长轮询空响应消息的时间。
ws.timeout
150000
像timeout参数,但用于websocket传输
interval
0
以毫秒为单位的时间,指定客户端在一个长轮询结束之后下一个长轮询开始之前要等待多长时间
ws.interval
2500
像interval参数,但用于websocket传输
maxInterval
10000
以毫秒为单位的最大周期,服务器在前一个客户端被认为无效或被移除时等待客户端新的长轮询的周期
ws.maxInterval
15000
像maxInterval参数,但用于websocket传输
maxLazyTimeout
5000
以毫秒为单位的最大时间,在提供或发布懒加载消息前服务端等待的时间
metaConnectDeliverOnly
false
传输是否只能通过长轮询提供消息(启用严格消息排序)
jsonDebug
false
是否应该为了调试目的保留完整的 JSON 输入
maxSessionsPerBrowser
1
同一个浏览器允许打开的最大轮询session数(tab/frames)。正值表示不限制。
allowMultiSessionsNoBrowser
false
在浏览器不检测的情况下是否允许多个session(tab/frames)
multiSessionInterval
2000
以毫秒为单位的周期,指定客户端正常轮询周期,前提是服务端允许从同一个浏览器打开多个
session(tab/frames)连接。非正值表示新增的
session(tab/frames)将被断开。
ong-polling.json.metaConnectDeliverOnly
false
是否只能通过频道/meta/connect提供消息,在稍微复杂的协议启用严格消息排序(因为通过/meta/connect提供消息需要激活长轮询)
高级配置
如果你使用jetty 7,你可能也想配置CrossOriginFilter。
这个过滤器是Cross-Origin Resource Sharing规范的实现,且它也支持最近的浏览器(2009.10 firefox3.5.x,chrome3.x和safari4.x)跨域访问请求的javascript(阅读传输章节)。
这是web.xml配置CrossOriginFilter的例子:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"         version="2.5">     <servlet>        <servlet-name>cometd</servlet-name>        <servlet-class>org.cometd.server.continuation.ContinuationCometdServlet</servlet-class>        <init-param>            <param-name>timeout</param-name>            <param-value>60000</param-value>        </init-param>    </servlet>    <servlet-mapping>        <servlet-name>cometd</servlet-name>        <url-pattern>/cometd/*</url-pattern>    </servlet-mapping>     <filter>        <filter-name>cross-origin</filter-name>        <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>cross-origin</filter-name>        <url-pattern>/cometd/*</url-pattern>    </filter-mapping> </web-app>
详细信息请阅读过滤器的相关配置文档。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
springmvc:helloworld web.xml文件配置
Spring-3.2.4 + Quartz-2.2.0集成实例
Spring + Struts2 注解驱动配置文件【web.xml】
JFinal最简单demo
JAVA webservice之CXF
如何加大tomcat的内存及加大TOMCAT的连接数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服