Weld/Seam3 アプリケーション内で起動時に POJO を開始しようとしていますが、うまくいきません。私は次のことを試しましたが、どれもうまくいきませんでした:
@Singleton
public class StartupJobs {
@Inject
private Logger log;
public void onStartup(@Observes @Initialized ServletContextEvent event) {
log.info("Starting startup jobs");
}
public void onStartupTwo(@Observes @Initialized WebApplication webApplication) {
log.info("Starting startup jobs");
}
}
-
// Guessing this way is no good as I can't use the javax.ejb.Startup annotation here
@ApplicationScoped
public class StartupJobs {
@Inject
private Logger log;
@PostConstruct
public void onStartup() {
log.info("Starting startup jobs");
}
}
しかし、それらの方法はどちらも機能しませんでした。私のログメッセージは決して発生しませんでした。このアプリケーションは Tomcat6 で実行されており、「org.jboss.weld.environment.servlet.Listener」リスナーを web.xml に追加する必要があったため、クラスが発生させて観察できるものがあるかどうか疑問に思っています。とはいえ、特に気にしたことはありません。
他に何を試すことができるか手がかりはありますか?