I deployed the related CXF 3.1.11-SNAPSHOT modules, so please try when you get a chance...

Cheers, Sergey
On 13/03/17 15:11, Sergey Beryozkin wrote:
Hi

We did some work on the master (3.2.0-SNAPSHOT) for overriding the
default lifecycle of Application.getClasses, using the existing
jaxrs.scope servlet parameter, as part of the SSE work, and I pushed
most of those updated to 3.1.11-SNAPSHOT.
However that is not enough in your case, so I just tweaked a code a bit
more, if you have an empty Application with its getProperties() method
returning "jaxrs.scope"="singleton" then the (auto-discovered)
Application.getClasses will be treated as singletons even if they are
not providers but the resource classes.

I could've also added a CXF specific @Singleton annotation but the
Application.getProperties() is less intrusive and is portable (this
property will simply be ignored with other implementations), while we
also plan with Andriy to introduce a proper support for the alternative
injection strategies (so as to cover for ex CDI Singleton, etc)

Cheers, Sergey

On 13/03/17 11:21, Aruna Kalagnanam wrote:
Hi Sergey

Yes, I'm using the cxf http-sci module and no web.xml.

Thanks,
Aruna.

On Mar 13, 2017 16:23, "Sergey Beryozkin" <sberyoz...@gmail.com> wrote:

Hi

On 12/03/17 06:37, Aruna Kalagnanam wrote:

Hello

I'm using Apache CXF 3.1.9 with Tomcat 7. I have written a JAX-RS
application with a JAX-RS resource and subclassed Application class. I
realized that the JAX-RS resource is per-request scoped by default. I
would
like to make it application scoped. Using @Singleton doesnt work.

I could override the getSingletons() method of my Application subclass,
but
doing that turns off auto scanning of @Provider classes. Auto
scanning is
important for my application because I'm using a library which has
filters
that have to be included automatically by scanning.

How can I create a singleton JAX-RS resource and still use auto
scanning
of
@Provider capability.


Can you explain please, how is this Application registered, do you use a
cxf-rt-rs-http-sci module which ships ServletContextInitializer ?

Thanks, Sergey


Thanks,
Aruna.








--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Reply via email to