【问题标题】:Startup POJO On A Weld/Seam3 Application在 Weld/Seam3 应用程序上启动 POJO
【发布时间】: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


【解决方案1】:

发现我的问题是配置。由于在 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 代码中修复,所以我想这个错误将在下次发布文档时修复。

【讨论】:

    猜你喜欢
    • 2013-05-01
    • 2011-08-22
    • 2014-05-20
    • 2015-05-16
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    相关资源
    最近更新 更多