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" <[email protected]> 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