2013-04-25 3 views
5

tomcat 7 서버에 PF 3.5 Chat Application을 구현하고 싶습니다. excpetion으로Primefaces 채팅 응용 프로그램 - web.xml 요소로 시작하는 잘못된 콘텐츠가 발견되었습니다.

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    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>Push Servlet</servlet-name> 
    <servlet-class>org.primefaces.push.PushServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    <init-param> 
     <param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name> 
     <param-value>org.atmosphere.cache.HeaderBroadcasterCache</param-value> 
    </init-param> 
    <init-param> 
     <param-name>org.atmosphere.cpr.broadcasterClass</param-name> 
     <param-value>org.atmosphere.cpr.DefaultBroadcaster</param-value> 
    </init-param> 
    <init-param> 
     <param-name>org.atmosphere.cpr.broadcastFilterClasses</param-name> 
     <param-value>org.atmosphere.client.TrackMessageSizeFilter</param-value> 
    </init-param> 
    <init-param> 
     <param-name>org.atmosphere.cpr.sessionSupport</param-name> 
     <param-value>true</param-value> 
    </init-param> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Push Servlet</servlet-name> 
    <url-pattern>/primepush/*</url-pattern> 
</servlet-mapping> 

내가 얻을 : 그러나

<dependency> 
    <groupId>org.atmosphere</groupId> 
    <artifactId>atmosphere-runtime</artifactId> 
    <version>1.0.1</version> 
</dependency> 

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.7.1</version> 
</dependency> 

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version>1.7.1</version> 
</dependency> 

, 내가 web.xml 것을 구현할 때 : 나는 의존성이 있음을 추가 한

cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One of '{"http://java.sun.com/ 
xml/ns/javaee":run-as, "http://java.sun.com/xml/ns/javaee":security-role-ref}' is expected. 

btw 0에서 예외가 발생합니다.태그.

정말 감사합니다!

<servlet> 
    <servlet-name>Push Servlet</servlet-name> 
    <servlet-class>org.primefaces.push.PushServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    <init-param> 
     <param-name>channels</param-name> 
     <param-value>chat,counter</param-value> 
    </init-param> 
</servlet> 

<servlet-mapping> 
    <servlet-name>Push Servlet</servlet-name> 
    <url-pattern>/prime-push/*</url-pattern> 
</servlet-mapping> 

나는 또한 schema 주문 사항에 따르면 <init-param> 태그

답변

20

에서 expcetion을 얻을 : 난 그냥 그것을 쓸 때

UPDATE 나는 같은 excpetion를 얻을. 따라서 <load-on-startup/> 요소는 <init-param/> 요소 뒤에 와야합니다.

예 : 실제로

<servlet> 
    <servlet-name>Push Servlet</servlet-name> 
    <servlet-class>org.primefaces.push.PushServlet</servlet-class> 
    <init-param> 
     <param-name>channels</param-name> 
     <param-value>chat,counter</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
+0

들으, 나는 비슷한 문제가 퍼팅을했다 <로드 온 startup /> init param이 트릭을 한 후에! +1 – xproph

2

는, PF 푸시 서블릿 & 대기이 설정에 대한 주문 사항, 좋은 출발점이 될 것입니다 :

<servlet> 
 
    <servlet-name>Push Servlet</servlet-name> 
 
    <servlet-class>org.primefaces.push.PushServlet</servlet-class> 
 
    <init-param> 
 
    <param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name> 
 
    <param-value>org.atmosphere.cache.UUIDBroadcasterCache</param-value> 
 
    </init-param> 
 
    <init-param> 
 
     <param-name>org.atmosphere.cpr.broadcaster.maxProcessingThreads</param-name> 
 
     <param-value>15</param-value> 
 
    </init-param> 
 
    <init-param> 
 
     <param-name>org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads</param-name> 
 
     <param-value>15</param-value> 
 
    </init-param> 
 
    <load-on-startup>0</load-on-startup> 
 
    <async-supported>true</async-supported> 
 
</servlet>