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

私のenvは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 に答える