我正在尝试在我的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中,我想知道是否有类似于我可以观察到的类。我没有特别注意到任何事情。
有什么线索我可以试试吗?
答案 0 :(得分:3)
发现我的问题是配置。我没有看到我需要一些额外的配置,因为在Tomcat 6上:http://docs.jboss.org/seam/3/servlet/latest/reference/en-US/html/servlet-installation.html#installation.pre-servlet-3
关于该页面上的文档的快速说明,就像我写这篇文章一样,“Catch Exception Filter”的类应该是“org.jboss.seam.servlet.exception.CatchExceptionFilter”。文档缺少“例外”。它似乎已在Seam Servlet代码中得到修复,所以我想这个bug将在下次发布文档时修复。