2011-06-03 81 views
2

我是新来焊接。 我正在设置一个接缝3项目战争打包。 我想发现picketlink安全管理,以测试他的各种mamanger(安装后的数据库和实体类),我创建了一个控制器(TestAction类),所以:焊接@Inject接口

@Named("testAction") 
@ConversationScoped 
public class TestAction implements Serializable{ 
    private static final long serialVersionUID = 1L; 

    @Inject 
    PersistenceManager persistenceManager; 


    public void createUser() throws IdentityException 
    { 


    persistenceManager.createUser("TEST_USER"); 
    } 
} 

我ENV是JBoss的最后6 。

在启动时,我得到:

WELD-001408 Unsatisfied dependencies for type [PersistenceManager] with qualifiers 
[@Any] at enter injection point [[field] @Inject @Any 
com.mycompany.myproject.action.TestAction.persistenceManager] 

的PersistenceManager是与参数(IdentitySesionImpl)

我怎么能注入的PersistenceManager一个具体类的接口? WELD-001408是什么意思?

Regards

回答

0

我不确定要理解。你想使用JPA持久性管理器还是你自己创建的类?

如果是JPA持久性管理器,则不必提供实现,而是在persistence.xml文件中配置JPA。

如果它是你的界面和类,我鼓励你改变他们的名字,因为他们很混乱。你应该检查你的实现是否是一个有效的CDI Bean:具体类没有构造函数,或者至少有一个没有参数的默认构造函数。