【发布时间】: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