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?