私は EJB が初めてで、最初の問題に直面しています。ステートレス EJB に含まれる @Schedule メソッドを使用しようとしています。このメソッドで、Bean の作成時に設定されるプライベート メンバー変数を使用したいと思います。
以下に短い例を示します。
@Singleton
@LocalBean
@Startup
public class Starter {
@PostActivate
private void postActivate() {
ScheduleEJB scheduleEjb = new ScheduleEJB("Hello");
}
}
そして、スケジュール Bean:
@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 になることです...これを達成する最善の方法は何ですか?
ご協力いただきありがとうございます !