【问题标题】:Glassfish4 tries to inject EJB in Spring contextGlassfish4 尝试在 Spring 上下文中注入 EJB
【发布时间】:2015-08-14 11:35:43
【问题描述】:

我正在尝试将使用 EJB 和 Spring bean 组合的应用程序升级到 Glassfish 4。这在 Glassfish3 上运行良好。

当我尝试部署时,我得到了这种类型的错误:

org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type SomethingLogic with qualifiers @Default
  at injection point [BackedAnnotatedField] @Inject private com.my.application.server.service.SomethingServiceSession.somethingLogic

起初,我在尝试@Inject Spring bean(EJBs/webservices/servlets)时在非spring bean中得到了这些。将所有@Inject 更改为@Autowired 后,非spring 类不再给出错误,但我开始在纯Spring bean 上遇到相同的错误(因此将Spring bean 的@Inject 到另一个Spring bean 给出了错误。)

这让我相信 Glassfish 在遇到@Inject 时会尝试寻找 EJB,无论它是否在 EJB 的上下文中,也无论要注入的 bean 是 EJB 还是 Spring bean .

是这样吗,我该如何避免这种情况?

【问题讨论】:

  • 你能用你的星座在一个小测试项目(一个小的maven项目或其他东西)中重现这个问题吗?如果是这样...你可以发布代码吗?
  • 查看stackoverflow.com/questions/31990390/… 获取一些代码示例,我补充说这是一个更普遍的问题..

标签: java spring glassfish ejb glassfish-4


【解决方案1】:

通过将bean-discovery-mode="none" 添加到我的各种beans.xml 文件中,设法解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 2014-05-25
    • 2015-12-26
    相关资源
    最近更新 更多