尝试通过注释将无状态 EJB 注入 JAX-RS Web 服务会导致null EJB 引用,导致 NullPointerException
虽然将 JAX-RS Web 服务注释为 @Stateless 似乎是一个直接的解决方案,但单独使用 JAX-RS 是不可行的。考虑以下替代方法:
选项 1:注入提供程序 SPI
实现执行 EJB 查找和注入的注入提供程序。相应地注册提供程序。
选项 2:将 BookResource 嵌入为 EJB
将 BookResource 类注释为 @Stateless 并在 EJB 中管理其生命周期。然而,这种方法使单元测试更具挑战性。
选项 3:利用 CDI
使用 CDI 进行依赖注入,如提供的示例所示。这种方法提供了简单性和灵活性,特别是在测试环境中。
通过实现注入提供程序或采用CDI,可以将 EJB 注入到 JAX-RS 服务中,从而扩展了两个框架之间的集成选项。
以上是如何将 EJB 注入 JAX-RS 服务?的详细内容。更多信息请关注PHP中文网其他相关文章!