就应用程序服务器在运行时创建的对象而言,
之间有什么区别使bean成为EJB和JAX-RS资源
@Stateless
@local
@Path("电流&#34)
公共课门面
{
@PersistenceContext
EntityManager entityManager;
@EJB
......
//方法
}
使用两个不同的豆
@Path("电流&#34)
公共课门面
{
@EJB
私人MyEjb myEjb;
//方法
}
@Stateless
@local
公共课MyEJB
{
//方法
}
感谢您的回答!
编辑:
也许我真正的问题是关于在EJB上使用jax-rs注释的结果是什么,但是那个'基本上我问的问题一样。答案 0 :(得分:2)
有效。但是,如果我们坚持使用Oracle规范,那么将EJB作为Web服务(rest或soap)公开是一种快速的解决方案,您承诺在不久的将来重新考虑这种方法: - )
事实上,再次坚持Oracle所说的,EJB应该驻留在业务层上,而Web服务应该在集成层中。
我并不认为暴露EJB是一种错误的方法,但仅仅因为在Java中开发休息服务非常容易,我会创建一个façade类,并在服务中进行转换。然后我会将EJB注入到类中,或者通过jndi查找它是否为休息。更好地分离关注点。
通过这种方式,您最终不会得到一个带有注释的单个类,但是您正在引入灵活性,并且拥有可能发展的架构,例如,您可以决定在将来部署业务层机...无论