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/
