【发布时间】:2011-11-12 22:25:39
【问题描述】:
我试图在我的 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,我想知道该类是否有一些我可以观察到的东西。不过我并没有特别注意什么。
知道我还能尝试什么吗?
【问题讨论】:
-
与问题没有直接关系,但
JBoss 7真的很快,它是一个JEE容器。使用像Tomcat这样的普通 servlet 容器是在乞求配置问题。 -
@Petar 你是对的。转向 JBoss AS 之类的东西会有所帮助。但这是公司的决定,所以我现在只能使用 Tomcat!
标签: java seam cdi jboss-weld seam3