Bean既是EJB又是JX-RS资源

时间:2017-04-21 13:56:47

标签: java rest ejb jax-rs ejb-3.0

就应用程序服务器在运行时创建的对象而言,

之间有什么区别
  • 使bean成为EJB和JAX-RS资源

    @Stateless
    @local
    @Path("电流&#34)
    公共课门面
    {

    @PersistenceContext
      EntityManager entityManager;

    @EJB
      ......

    //方法
    }

  • 使用两个不同的豆

    @Path("电流&#34)
    公共课门面
    {
       @EJB
       私人MyEjb myEjb;

    //方法
    }

    @Stateless
    @local
    公共课MyEJB
    {
     //方法
    }

感谢您的回答!

编辑:

也许我真正的问题是关于在EJB上使用jax-rs注释的结果是什么,但是那个'基本上我问的问题一样。

1 个答案:

答案 0 :(得分:2)

有效。但是,如果我们坚持使用Oracle规范,那么将EJB作为Web服务(rest或soap)公开是一种快速的解决方案,您承诺在不久的将来重新考虑这种方法: - )

事实上,再次坚持Oracle所说的,EJB应该驻留在业务层上,而Web服务应该在集成层中。

我并不认为暴露EJB是一种错误的方法,但仅仅因为在Java中开发休息服务非常容易,我会创建一个façade类,并在服务中进行转换。然后我会将EJB注入到类中,或者通过jndi查找它是否为休息。更好地分离关注点。

通过这种方式,您最终不会得到一个带有注释的单个类,但是您正在引入灵活性,并且拥有可能发展的架构,例如,您可以决定在将来部署业务层机...无论

相关问题