I see a bit more when this is failing.

When the JAXRS bean has the transport ID set, In DestinationFactoryManager
you have two factories created, both for SSE (regular & config
namespaces).  However, since on the servlet the transportId is null when it
tries to look up the namespace it defaults to the HTTP transport.  This
causes it to create a new destination factory where nothing has been found.

So I think what I would recommend is coming up with a way for CXF to figure
out a better default, instead of the using the default transportId.

Or do as Romain says and make it so that SSE works on the normal
transportId.

John

On Sun, Feb 25, 2018 at 3:05 AM Romain Manni-Bucau <rmannibu...@gmail.com>
wrote:

> +1 wondered the same and technically sse can just be activated for http
> transport IMHO
>
> Le 25 févr. 2018 05:10, "John D. Ament" <johndam...@apache.org> a écrit :
>
> > Here's a reproducer app, if anyone else is curious.
> > https://github.com/johnament/cxf-demo-reactive-cdi
> >
> > If you comment out
> > https://github.com/johnament/cxf-demo-reactive-cdi/blob/
> > master/src/main/webapp/WEB-INF/web.xml#L10-L13
> > then
> > you'll see the issue, but deploying this as is to tomcat will work just
> > fine.
> >
> > On Sat, Feb 24, 2018 at 10:59 PM John D. Ament <johndam...@apache.org>
> > wrote:
> >
> > > Hi,
> > >
> > > So I've finally been able to confirm an issue.
> > >
> > > When CXF's SSE libraries are on the classpath, if the transportId of
> the
> > > servlet does not match the transport ID set with the SSE component,
> then
> > no
> > > services are discovered.
> > >
> > > IMHO, there may be cases where the SSE libraries are present (client
> > only)
> > > and no server runtimes are there.  In this case, the transport ID will
> > not
> > > match.
> > >
> > > I'm curious, do both need to be set?  What is the benefit/need on the
> > > servlet layer needing the transport ID set when the underlying feature
> > also
> > > does it?
> > >
> > > John
> > >
> >
>

Reply via email to