【问题标题】:migrate web application to enterprise application将 Web 应用程序迁移到企业应用程序
【发布时间】:2014-02-26 19:48:41
【问题描述】:

我有一个 Web 应用程序,我在我的 ejb 类 (@Stateless) 中注入了一个 dao 类,它工作正常,但我需要将此 Web 应用程序迁移到企业应用程序,而 @Inject 没有更多工作:

org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [AsteriskDAO] with qualifiers [@Default] at injection point [[field] @Inject private br.com.vsdialer.facade.AsteriskFacade.asteriskDao]

代码:

@Stateless
public class AsteriskFacade extends GenericFacade<Asterisk> implements AsteriskFacadeLocal, AsteriskFacadeRemote{

    @Inject
    private AsteriskDAO asteriskDao;

    @Override
    @PostConstruct
    protected void inicializar() {
        setDao(asteriskDao);
    }
}

public class AsteriskDAO extends GenericDAO<Asterisk>{

}

【问题讨论】:

  • 我使用的是 jee 6,jboss eap 6.1
  • Web 应用中的 EJB 与 JEE 应用中的 EJB 不同,JEE 中的 EJB 行为不同。

标签: jakarta-ee ejb-3.1 inject


【解决方案1】:

错误的意思是CDI容器找不到你要注入的组件。

可能是因为您的部署工件发生更改,所以找不到 beans.xml。查看Java EE 6 tutorial 了解放置位置。

【讨论】:

  • 是真的,我忘了把 beans.xml 文件放在 EJB 项目的 META-INF 中。谢谢
  • @AlissonVieira:那么请随意接受答案 ;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
  • 2018-12-26
  • 1970-01-01
  • 2011-04-12
  • 2023-04-04
相关资源
最近更新 更多