2

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

@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");
  }
}

我的环境是 jboss 6 final。

在启动时我得到:

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 是什么意思?

问候

4

1 回答 1

0

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

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

如果是您的接口和类,我鼓励您更改它们的名称,因为它们很混乱。您应该检查您的实现是否是有效的 CDI Bean:没有构造函数的具体类,或者至少是没有参数的默认构造函数。

于 2011-07-18T12:02:01.733 回答