On Mon, Sep 18, 2017 at 6:27 AM Sergey Beryozkin <[email protected]>
wrote:

> On 18/09/17 11:14, John D. Ament wrote:
> > I'm assuming you mean
> >
> https://github.com/apache/cxf/blob/master/distribution/src/main/release/samples/jax_rs/sse_cdi/src/main/java/demo/jaxrs/sse/StatsApplication.java#L39
> > ?
> > That looks manually registered.
> It should not be there,
>
> we need to add a CXF @Provider(type=Feature) to
>
>
> https://github.com/apache/cxf/blob/master/rt/rs/sse/src/main/java/org/apache/cxf/jaxrs/sse/SseFeature.java
>
> >
> > For my #1 its a CDI 2.0 feature.  I think it'll work with this approach
> > though.
> >
> > Any thoughts on the instability?
> Well, it's a totally new feature. I know Andriy found some issues while
> working on the integration with Atmosphere, my understanding there were
> many timing related test issues, but what is more important is how it
> works once the server is up an running, for a regular application, is
> not stable in your case ?
>

I have to test it that way further.  I'm doing everything via automation,
but need to run a sample app to check.  My main concern is stability within
my own pipeline by simply enabling this flag.


>
> Sergey
> >
> > John
> >
> > On Mon, Sep 18, 2017 at 5:09 AM Sergey Beryozkin <[email protected]>
> > wrote:
> >
> >> Have a look at the sse cdi demo Andriy added to the distribution,
> >> the feature (the one dealing with SSE) is expected to be
> auto-registered.
> >>
> >> Re the transport id, by default CXF assumes it is 'plain' HTTP, so it
> >> needs a hint.
> >>
> >> What did you mean with 1) ?
> >>
> >> Sergey
> >>
> >> On 18/09/17 00:57, John D. Ament wrote:
> >>> Ok, i was able to work a bit deeper into this.
> >>>
> >>> 1. the integration works, but firing async events doesn't work.  I'm
> not
> >>> sure it should, since you're just appending to the request; but I want
> to
> >>> play with async requests a bit.
> >>>
> >>> 2. The integration seems flakey I'm afraid.  I'll run a test, almost
> >> always
> >>> it passes, but then every off test run will cause SSE to not get
> >>> activated.  I have no reproducer for this.
> >>>
> >>> When it does fail, all I get on the log is
> >>>
> >>> Sep 17, 2017 7:50:33 PM
> >> org.apache.cxf.transport.servlet.ServletController
> >>> invoke
> >>> WARNING: Can't find the request for http://my-hostname:4403/rest's
> >> Observer
> >>>
> >>> However, I see none of the atmosphere bootstrap occurring when this
> >>> happens.  Here's full logs for both failure and success:
> >>> https://paste.apache.org/rWwj
> >>>
> >>> 3. I had to manually install the feature.  Does CXF have any notion of
> >>> automatically registering features?
> >>>
> >>> 4. I also had to customize the transport id.  It would be good if this
> >> was
> >>> automatic.
> >>>
> >>> John
> >>>
> >>> On Sun, Sep 17, 2017 at 4:21 PM John D. Ament <[email protected]>
> >> wrote:
> >>>
> >>>> I'm trying to create a very basic example of using SSE + CDI events.
> To
> >>>> do that, I created a basic endpoint based on a CXF systest that I
> found,
> >>>> but tried to adapt it to work with CDI.
> >>>>
> >>>> @Path("/sse")
> >>>> @RequestScoped
> >>>> public class SseEventEndpoint {
> >>>>       @Inject
> >>>>       private Event<SseEvent> event;
> >>>>       @Context
> >>>>       private Sse sse;
> >>>>       @GET
> >>>>       @Path("{connectionId}")
> >>>>       @Produces(MediaType.SERVER_SENT_EVENTS)
> >>>>       public void onEvent(@Context SseEventSink sink,
> >>>> @PathParam("connectionId") final String id) {
> >>>>           System.out.println("Received request "+sse);
> >>>>           event.fireAsync(new SseEvent(sink, sse, id));
> >>>>       }
> >>>> }
> >>>>
> >>>> However, no matter what I do, the Sse object is null.  Is there
> >> something
> >>>> I need to do to enable Sse integration?  This is what my dependencies
> >> look
> >>>> like
> >>>>
> >>>>           <dependency>
> >>>>               <groupId>org.apache.cxf</groupId>
> >>>>               <artifactId>cxf-integration-cdi</artifactId>
> >>>>           </dependency>
> >>>>           <dependency>
> >>>>               <groupId>org.apache.cxf</groupId>
> >>>>               <artifactId>cxf-rt-rs-client</artifactId>
> >>>>           </dependency>
> >>>>           <dependency>
> >>>>               <groupId>org.apache.cxf</groupId>
> >>>>               <artifactId>cxf-rt-rs-sse</artifactId>
> >>>>           </dependency>
> >>>>           <dependency>
> >>>>               <groupId>org.apache.cxf</groupId>
> >>>>               <artifactId>cxf-rt-transports-http</artifactId>
> >>>>           </dependency>
> >>>>
> >>>
> >>
> >>
> >> --
> >> Sergey Beryozkin
> >>
> >> Talend Community Coders
> >> http://coders.talend.com/
> >>
> >
>

Reply via email to