Я столкнулся с проблемой с JBoss AS7/JEE 6, а с помощью продюсера для регистратора, что работа в порядке с WildFly и JEE 7.JBoss и CDI Производитель
Я создал спецификатор:
@Qualifier
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
public @interface BpeLogger {
}
класс производителя:
public class LoggerProducer{
@Produces
@BpeLogger
public Logger produceLogger(InjectionPoint injectionPoint) {
return LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
}
}
И сейчас я пытаюсь внедрить регистратор в другой КДИ Bean с:
@Inject
@BpeLogger
private Logger logger;
Установка завершается с исключением следующего:
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [Logger] with qualifiers [@BpeLogger] at injection point [[field] @Inject @BpeLogger private de.ulc.bpe.web.process.Domino.logger]
Что здесь не так?
У вас есть beans.xml-файл? Он обязателен в Java EE 6, но необязательно в Java EE 7. –
Вы работаете на JBoss AS 7 или на WildFly? Это не ясно из вашего вопроса. –
Немой вопрос: вы не смешиваете 2 разных класса 'Logger' (j.u.l vs slf4j)? –