시작시 초기화하려는 내 JEE 응용 프로그램에 2 개의 싱글 톤이 있습니다. 이런 식으로 뭔가가 : 정말 ServiceA이 필요하지 않습니다@PostConstruct의 실행 순서
@Singleton
@Startup
public class ServiceB {
@EJB
private ServiceA a;
@PostConstruct
private void init() {
....
}
}
ServiceB가, 난 그냥 (읽기 : PostConstruct의-방법이 완료 @) ServiceA가 완전히 초기화되어 있는지 확인하는 종속성을 추가 ServiceB의 init() 이전에 -Method가 시작됩니다.
하지만 기다리지 않습니다. 실제로 ServiceB는 ServiceA 전에 시작됩니다.
하나의 Bean의 @ PostConstruct- 메소드가 다른 Bean의 @ PostConstruct- 메소드가 완료 될 때까지 기다릴 수있는 방법이 있습니까?
는 난 그냥 ServiceA에 @PostConstruct 주석을 제거하고 ServiceB
@PostConstruct init() {
a.init();
}
에서 직접 호출 할 수 있습니다 알고 있지만 ServiceB이없는 경우 나 배포가 있습니다. 그래서 나는 ServiceA를 초기화하기 위해 ServiceB에 의존 할 수 없다. ServiceA는 그 자체를해야합니다. ServiceB는 ServiceA가 완료 될 때까지 기다려야합니다.