I'm trying to migrate a simple app from PF Push 4.0 to 5.0 versión, I changed the source code and now I have a eventBus and created a class @PushEndpoint annotated but in the server startup I found the following error:
Code: Select all
PushServlet.configureFramework ERROR - No Annotated class using @PushEndpoint found. Push will not work.
The loaded versions in pom.xml are:
- <tomcat.version>7.0.52</tomcat.version>
<javax.servlet.version>3.1.0</javax.servlet.version>
<junit.version>4.11</junit.version>
<faces.version>2.2.2</faces.version>
<primefaces.version>5.0</primefaces.version>
<themes.version>1.0.10</themes.version>
<atmosphere.version>2.1.3</atmosphere.version>
<springframework.version>4.0.2.RELEASE</springframework.version>
<slf4j.version>1.7.6</slf4j.version>
<log4j.version>2.0-rc1</log4j.version>
<cxf.version>2.7.10</cxf.version>
<javaxinject.version>1</javaxinject.version>
Code: Select all
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<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.HeaderBroadcasterCache</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Push Servlet</servlet-name>
<url-pattern>/primepush/*</url-pattern>
</servlet-mapping>
Code: Select all
<context:component-scan base-package="com.app" annotation-config="true" />
Code: Select all
package com.app.endpoints;
import org.atmosphere.config.service.Singleton;
import org.primefaces.push.annotation.OnMessage;
import org.primefaces.push.annotation.PushEndpoint;
import org.primefaces.push.impl.JSONEncoder;
@Singleton
@PushEndpoint("/IncUpdate")
public class IncidentResource {
@OnMessage(encoders = {JSONEncoder.class})
public String onMessage(String str) { return str; }
}
Regards