Я обнаружил новую функцию в java restful при использовании EJB 3.1, читая статью в блоге Адама Биена.
Дело в том, что bean-компоненты Stateless и Singleton могут быть представлены как корневые ресурсы. Но как? Я попытался сделать это следующим образом:
@Stateless
@LocalBean
@Path("Hybrid")
public class RESTEJBSample {
@GET
@Path("/demo")
@Produces(MediaType.TEXT_PLAIN)
public String something() {
return "I am a Hybrid!!!";
}
}
Когда я вызываю URL-адрес http://localhost:8080/HybridSample/resources/Hybrid/demo, я получаю ошибку 404.
Кроме того, чтобы убедиться, что JAXRS работает в моем проекте, я создал простой ресурс pojo, чтобы проверить, работает ли он нормально.
@Path("/genericresource")
public class GenericResource {
@GET
@Path("/samplemethod")
@Produces(MediaType.TEXT_PLAIN)
public String saySomething() {
return "Something!";
}
}
Здесь, когда я вызываю URL-адрес http://localhost:8080/HybridSample/resources/genericresource/samplemethod, он работает нормально!
Итак, мои вопросы:
чего не хватает в моем EJB, чтобы он мог работать как ресурс веб-службы, такой как класс GenericResource?
Нужна ли дополнительная настройка?
Каковы ограничения при использовании EJB в качестве веб-службы?