Below is my class annotated with @PushEndpoint,

package pf;

import javax.faces.application.FacesMessage;
import org.primefaces.push.annotation.OnMessage;
import org.primefaces.push.annotation.PushEndpoint;
import org.primefaces.push.annotation.Singleton;
import org.primefaces.push.impl.JSONEncoder;

@PushEndpoint("/{usernameAndSessionId}")
@Singleton
public class NotifyResource {

    @OnMessage(encoders = {JSONEncoder.class})
    public FacesMessage onMessage(FacesMessage message) {
        return message;
    }

}


Look for @PushEndpoint and pf.NotifyResource in my server log:

Aug 17, 2014 7:03:51 PM org.atmosphere.cpr.AtmosphereFramework
autoConfigureService
INFO: Atmosphere is using org.atmosphere.cpr.DefaultAnnotationProcessor for
processing annotation
Aug 17, 2014 7:03:51 PM org.atmosphere.cpr.DefaultAnnotationProcessor
configure
INFO: AnnotationProcessor class
org.atmosphere.cpr.DefaultAnnotationProcessor$ServletContainerInitializerAnnotationProcessor
being used
Aug 17, 2014 7:03:51 PM
org.atmosphere.cpr.DefaultAnnotationProcessor$BytecodeBasedAnnotationProcessor$1
reportTypeAnnotation
INFO: Found Annotation in pf.NotifyResource being scanned: interface
org.primefaces.push.annotation.PushEndpoint
Aug 17, 2014 7:03:51 PM org.atmosphere.cpr.AtmosphereFramework
addAtmosphereHandler
INFO: Installed AtmosphereHandler
org.primefaces.push.impl.PushEndpointHandlerProxy mapped to context-path
/{usernameAndSessionId} and Broadcaster Class
org.atmosphere.cpr.DefaultBroadcaster
Aug 17, 2014 7:03:51 PM org.atmosphere.cpr.AtmosphereFramework
addAtmosphereHandler
INFO: Installed AtmosphereInterceptor [@PushEndpoint Interceptor] mapped to
AtmosphereHandler org.primefaces.push.impl.PushEndpointHandlerProxy



On Sun, Aug 17, 2014 at 6:07 PM, Howard W. Smith, Jr. <
[email protected]> wrote:

> Karl, your web.xml looks okay, but my web.xml does not include the
> following:
>
>
>         <init-param>
>             <param-name>org.atmosphere.annotation.packages</param-name>
>             <param-value>org.primefaces.push</param-value>
>         </init-param>
>         <init-param>
>             <param-name>org.atmosphere.cpr.packages</param-name>
>             <param-value>com.kildeen.ref</param-value>
>         </init-param>
>
>
>
> On Sun, Aug 17, 2014 at 5:58 PM, Howard W. Smith, Jr. <
> [email protected]> wrote:
>
>> Karl,
>>
>> Please see PrimeFaces 5.0 user guide, page 530, section 9.5.1 Counter,
>> and then scroll down and look for,
>>
>> package org.primefaces.examples.push.counter;
>>
>> import org.primefaces.push.annotation.OnMessage;
>> import org.primefaces.push.annotation.PushEndpoint;
>> import org.primefaces.push.impl.JSONEncoder;
>>
>> @PushEndpoint("/counter")
>> public class CounterResource {
>>     @OnMessage(encoders = {JSONEncoder.class})
>>     public String onMessage(String count) {
>>         return count;
>>     }
>> }
>>
>>
>> do you have a class like this defined in your app? you should try to
>> deploy the PrimeFaces 5.0 Push - Counter example, test the example, and
>> make appropriate code changes to your PrimeFaces Push logic.
>>
>>
>>
>>
>> On Sun, Aug 17, 2014 at 1:12 PM, Karl Kildén <[email protected]>
>> wrote:
>>
>>> Hello,
>>>
>>> Running various versions of TomEE with Primefaces 5 all results in this
>>> problem: ERROR  org.primefaces.push.PushServlet: No Annotated class using
>>> @PushEndpoint found. Push will not work.
>>>
>>> Full boot log is here:
>>> https://gist.github.com/karlkilden/5b7c1dfe7ba5e5c2bd99
>>>
>>> I tried various configurations of Primepush and I had it working with
>>> primefaces 4. I also tried various versions of the atmosphere runtime.
>>> Anyone using this that would care to share configuration? I will try to
>>> get
>>> a minimal demo app together soon.
>>>
>>> This is what I tried most recently:
>>>
>>>         <dependency>
>>>             <groupId>org.atmosphere</groupId>
>>>             <artifactId>atmosphere-runtime</artifactId>
>>>             <version>2.1.8</version>
>>>         </dependency>
>>>
>>>
>>>     <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.annotation.packages</param-name>
>>>             <param-value>org.primefaces.push</param-value>
>>>         </init-param>
>>>         <init-param>
>>>             <param-name>org.atmosphere.cpr.packages</param-name>
>>>             <param-value>com.kildeen.ref</param-value>
>>>         </init-param>
>>>         <async-supported>true</async-supported>
>>>     </servlet>
>>>
>>>     <servlet-mapping>
>>>         <servlet-name>Push Servlet</servlet-name>
>>>         <url-pattern>/primepush/*</url-pattern>
>>>     </servlet-mapping>
>>>
>>>
>>>
>>> cheers
>>>
>>
>>
>

Reply via email to