Como expor um EJB 3.1 como um serviço da Web REST?

Descobri um novo recurso em java repousante ao usar o EJB 3.1 ao ler um artigo emAdam Bien's blog.

O fato é que os beans Stateless e Singleton podem ser expostos como recursos raiz. Mas como? Eu tentei fazer desta maneira:

@Stateless
@LocalBean
@Path("Hybrid")
public class RESTEJBSample {

    @GET
    @Path("/demo")
    @Produces(MediaType.TEXT_PLAIN)
    public String something() {
        return "I am a Hybrid!!!";
    }

}

Quando eu chamo o URLhttp: // localhost: 8080 / HybridSample / resources / Hybrid / demo recebo um erro 404.

Além disso, e apenas para garantir que o JAXRS esteja funcionando no meu projeto, criei um recurso simples do pojo apenas para testar se funciona be

@Path("/genericresource")
public class GenericResource {
    @GET
    @Path("/samplemethod")
    @Produces(MediaType.TEXT_PLAIN)
    public String saySomething() {
        return "Something!";
    }
}

Aqui quando eu chamo o URLhttp: // localhost: 8080 / HybridSample / resources / genericresource / samplemethod Funciona bem

Então minhas perguntas são:

o que está faltando no meu EJB para que ele possa funcionar como um recurso de serviço da web, como a classe GenericResourc

É necessária alguma configuração extra?

Quais são as limitações ao usar o EJB como serviço da web?

questionAnswers(2)

yourAnswerToTheQuestion