类型的模糊依赖关系

时间:2013-10-05 18:49:29

标签: jsf java-ee dependency-injection cdi managed-bean

当我尝试将我的应用程序部署到Glassfish服务器时,我收到此异常:

  

org.jboss.weld.exceptions.DeploymentException:WELD-001409不明确   类型为[FileReferenceDao]的依赖项,带有限定符[@Default] at   注入点[[BackedAnnotatedField] @Inject   com.tugay.fup.web.MyUploadedFilesBean.fileReferenceDao。可能   dependencies [[Session bean [class   带有限定词的com.tugay.fup.core.dao.FileReferenceDao [@Any   @默认];本地接口是[FileReferenceDao],Session bean   [class com.tugay.fup.core.dao.FileReferenceDao with qualifiers [@Any   @默认];本地接口是[FileReferenceDao]]]

有趣的部分是

  

可能的依赖[[Session bean [class   带有限定词的com.tugay.fup.core.dao.FileReferenceDao [@Any   @默认];本地接口是[FileReferenceDao],Session bean   [class com.tugay.fup.core.dao.FileReferenceDao with qualifiers [@Any   @默认];本地接口是[FileReferenceDao]]]

这里发生了什么?

我只有一个FileReferenceDao,它没有接口或其他任何东西。它不会扩展任何其他类。这就是我使用它的方式:

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;

@Named
@RequestScoped
public class MyUploadedFilesBean {

    @Inject
    FileReferenceDao fileReferenceDao;

一切都运转良好,直到15分钟前。

我尝试将JSF托管bean与CDI bean混合使用,但它没有工作,我回滚了。现在我得到了这个例外。

@Stateless public class FileReferenceDao {

    @PersistenceContext(unitName = "Persistence")
    EntityManager em;

0 个答案:

没有答案