我试图在我的 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 中,因此我想知道该类是否引发了我可以观察到的内容。不过我没有注意到任何特别的事情。
知道我还能尝试什么吗?
发现我的问题是配置。由于使用 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 将在下次文档发布时得到修复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)