1. 程式人生 > >Comet4j部署,以及對Jfinal以及Zcurd專案的支援

Comet4j部署,以及對Jfinal以及Zcurd專案的支援

範例及所需基礎資源包請參考《參考連結》。對於基礎jar包及js,參考連結中為google連結,被牆的小夥伴可從以下連結下載:

2、部署注意事項:

1)、comet4j僅支援tomcat伺服器且目前僅支援6、7版本,8尚未考證,據說使用7的jar包也能支援。

2)、jar包名稱:comet4j-tomcat6.jar、comet4j-tomcat7.jar

3)、需修改tomcat配置檔案,將http協議改為nio協議:

修改:

<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000"

               redirectPort="8443" />

為:

<Connector port="8888" protocol="org.apache.coyote.http11.Http11NioProtocol"

connectionTimeout="20000"

redirectPort="8443" />

4)、若使用maven,需注意,maven內建的tomcat6或tomcat7可以修改server.xml中的protocol項,在pom.xml中tomcat的plugin下增加protocol節點即可。        

			<!-- 配置Tomcat外掛 -->
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<protocol>org.apache.coyote.http11.Http11NioProtocol</protocol>
				</configuration>
			</plugin>

5)、comet4j可支援jfinal,只需在jfinal的JFinalConfig中增加如下UrlSkipHandler Handler。

/**
 *
配置處理器
 */

public void configHandler(Handlers me) {
   me.add(
new UrlSkipHandler("/push",false));
  
me.add(new ZcurdHandler());
}

        若使用ZCURD專案,可在ZcurdConfig.java中增加。

3、Zcurd中測試頁面訪問地址:

4、報錯記錄

1)、瀏覽器返回報405錯

原因:tomcat的protocol未換成NIO協議。

2)、java.lang.ClassNotFoundException: org.apache.catalina.CometProcessor

原因:comet4j-tomcat.jar版本與實際執行中的tomcat版本不匹配。

3)、瀏覽器返回404

原因:jfinal未新增UrlSkipHandler Handler

5、參考連結,致謝: