приварить @ ввести интерфейс - PullRequest
2 голосов
/ 04 июня 2011

Я новичок в сварке.Я настраиваю упакованный проект войны шва 3.Я хочу обнаружить управление безопасностью picketlink и для того, чтобы протестировать его различные mamanger (после настройки базы данных и классов сущностей), я создал контроллер (класс 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 is jboss 6final.

При запуске я получил:

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?

С уважением

1 Ответ

0 голосов
/ 18 июля 2011

Я не уверен, что понял.Вы хотите использовать диспетчер персистентности JPA или это класс, который вы создали самостоятельно?

Если это диспетчер персистентности JPA, вам не нужно предоставлять реализацию, а настраивать JPA в файле persistence.xml..

Если это ваш интерфейс и класс, я призываю вас изменить их имена, потому что они довольно запутанные.И вы должны проверить, является ли ваша реализация допустимым классом CDI Bean: concrete без конструктора или, по крайней мере, конструктором по умолчанию без параметров.

...