저는 EJB를 처음 접했고 첫 번째 문제에 직면 해 있습니다. Stateless EJB에 포함 된 @Schedule 메서드를 사용하려고합니다.EJB 상태 비 저장 - 비공개 멤버 초기화
이여기에 간단한 예제입니다 :
@Singleton
@LocalBean
@Startup
public class Starter {
@PostActivate
private void postActivate() {
ScheduleEJB scheduleEjb = new ScheduleEJB("Hello");
}
}
그리고 일정 콩 :
@Stateless
@LocalBean
public class ScheduleEJB {
private String message;
public ScheduleEJB() {
super();
}
public ScheduleEJB(String message) {
super();
this.message= message;
}
@Schedule(second="*/3", minute="*", hour="*", dayOfMonth="*", dayOfWeek="*", month="*", year="*")
private void printMsg() {
System.out.println("MESSAGE : " + message);
}
}
문제 나는 콩 작성시 설정됩니다 개인 멤버 변수를 사용하려면이 방법을 싶습니다 printMsg() 메서드에서 인쇄 할 때 내 "메시지"변수가 항상 null이라는 것입니다.이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
도움 주셔서 감사합니다.
두 클래스 대신 단일 싱글 톤 EJB를 사용하지 않는 이유를 설명 할 수 있습니까? PostConstruct 메소드로 변수를 초기화하고 동일한 싱글 톤 클래스에서 스케줄러를 정의 할 수 있습니다. – perissf