2013-04-25 7 views
5

Chcę zaimplementować PF 3.5 Chat Application na serwerze tomcat 7. Dodałem, że zależności:Primefaces Aplikacja Chat - web.xml Znaleziono niepoprawną zawartość zaczynającą się od elementu

<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> 

Jednak kiedy wdrożyć że 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> 

Jako excpetion uzyskać:

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 otrzymuję wyjątek na 0 Tag.

Naprawdę doceniam twoją odpowiedź!

UPDATE

uzyskać ten sam excpetion po prostu napisać, że:

<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> 

ja również uzyskać expcetion na <init-param> tagu

Odpowiedz

20

Według schema sprawach Zakonu. Tak więc element <load-on-startup/> powinien nadejść po elemencie <init-param/>.

np.

<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

Thx, miałem podobny problem i oddanie po init param załatwił sprawę! +1 dla ciebie – xproph

2

Rzeczywiście, sprawy Zakonie, PF push Servlet & atmosfera ta konfiguracja jest dobrym punktem wyjścia:

<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>

Powiązane problemy