Я скорее новичок в JBoss и аннотации. У меня есть пример кода. Исключительные детали вырезаны.Служба EJB Singleton не работает при развертывании
@Singleton
@Startup
public class SomeBean {
@Resource
TimerService timerService;
@Inject
AnotherSingleton anotherOne;
Timer timer;
@PostConstruct
private void ejbCreate() {
timer = timerService.createIntervalTimer(0, interval, tc);
}
@Timeout
public void run() throws Exception {
}
}
@Singleton
public class AnotherSingleton {
@Inject
Repository rep;
}
Существует случай, когда война развертывает на JBoss он терпит неудачу с исключением из Хранилища производителя (услуги в другом Jboss не доступны).
Caused by: java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance
Так процесс заканчивается
WFLYCTL0186: Services which failed to start: service jboss.deployment.unit."someservices-view.war".component.SomeBean.START
Какие варианты у меня есть? Могу ли я сказать JBoss, чтобы он не @Inject beans при запуске, но когда код выполняется таймером? Могу ли я как-нибудь поймать исключение? @ Расписание не может быть принято. Мне нужно настроить таймер.
Спасибо за подсказку. Решение с Instance <> похоже работает отлично. – Eruanno
@Eruanno Если этот ответ решил вашу проблему, пожалуйста, примите его, установив галочку рядом с ответом. –