I understood what it should do but JAXRS spec doesn't speak about it
(or I missed it, if so please point it out then we'll fix it)


Romain Manni-Bucau
@rmannibucau
http://www.tomitribe.com
http://rmannibucau.wordpress.com
https://github.com/rmannibucau


2014-11-03 12:33 GMT+00:00 Alex Soto <asot...@gmail.com>:
> Well it is a class annotated with CDI annotation (@Singleton) so for what I
> understand the instance should be initialized by CDI container.
>
> Look Jersey example is:
>
> import javax.inject.Singleton;
>
> @Path("/item")
> public class ItemResource {
>     @Path("content")
>     public Class<ItemContentSingletonResource> getItemContentResource() {
>         return ItemContentSingletonResource.class;
>     }
> }
>
> @Singleton
> public class ItemContentSingletonResource {
>     // this class is managed in the singleton life cycle
> }
>
> 2014-11-03 11:43 GMT+01:00 Romain Manni-Bucau <rmannibu...@tomitribe.com>:
>
>> Spec says "Objects returned by sub-resource locators (see Section
>> 3.4.1) are expected to be
>> initialized by their creator." + reading 3.4.1 not sure Class is valid
>> (even if I get it could make sense).
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2014-11-03 11:34 GMT+01:00 Alex Soto <asot...@gmail.com>:
>> > Hi,
>> >
>> > I would like to create a subresource which returns a class type
>> (annotated
>> > with javax.injection.Singleton). The example comes from Jersey
>> > documentation. Let me show you how it looks:
>> >
>> > @Path("/v1")
>> > public class DispatcherResourceV1 {
>> >
>> > @Path("/chapter")
>> > public Class<ChapterResourceV1> v1Chapters() {
>> > return ChapterResourceV1.class;
>> > }
>> >  //.. and other resources
>> > }
>> >
>> > import javax.inject.Singleton;
>> > import javax.ws.rs.GET;
>> > import javax.ws.rs.Path;
>> > import javax.ws.rs.Produces;
>> > import javax.ws.rs.core.MediaType;
>> >
>> > @Singleton
>> > public class ChapterResourceV1 {
>> >
>> > @GET
>> > @Path("/")
>> > @Produces(MediaType.TEXT_PLAIN)
>> > public String chapter() {
>> > return "Hello V1";
>> > }
>> > }
>> >
>> > But running this code next log message is printed:
>> >
>> > WARNING: No resource methods have been found for resource class
>> > java.lang.Class
>> > Nov 03, 2014 11:30:14 AM org.apache.cxf.jaxrs.JAXRSInvoker invoke
>> > SEVERE: No subresource locator found for path /
>> >
>> > Obviously it seems I am missing something but I don't know exactly what,
>> > because if I change returning an class type to returning an instance it
>> > works perfectly.
>> >
>> >
>> >
>> > --
>> > +----------------------------------------------------------+
>> >   Alex Soto Bueno
>> >   www.lordofthejars.com
>> > +----------------------------------------------------------+
>>
>
>
>
> --
> +----------------------------------------------------------+
>   Alex Soto Bueno - Computer Engineer
>   www.lordofthejars.com
> +----------------------------------------------------------+

Reply via email to