2011-09-08 58 views
2

我試圖在我的Weld/Seam3應用程序中啓動時啓動POJO,但沒有多少運氣。我試過以下,但他們都沒有工作:在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上運行的,我不得不在我的web.xml中添加「org.jboss.weld.environment.servlet.Listener」監聽器,所以我想知道是否有類提出的東西可以觀察。雖然我沒有注意到任何特別的事情。

任何線索我可以嘗試什麼?

+1

與問題沒有直接關係,但'JBoss 7'真的很快,它是一個'JEE'容器。使用像Tomcat這樣的普通servlet容器正在尋求配置問題。 –

+0

@Petar你是對的。轉向像JBoss AS這樣的東西會有所幫助。但是這是一個公司的決定,所以我現在被Tomcat困住了! –

回答

3

發現我的問題是配置。我沒有看到,我需要一些額外的配置,由於是在Tomcat 6:http://docs.jboss.org/seam/3/servlet/latest/reference/en-US/html/servlet-installation.html#installation.pre-servlet-3

頁面上的文檔的快速筆記,因爲它代表我寫這篇文章,對於「捕捉異常過濾器」之類的應該是「org.jboss.seam.servlet.exception.CatchExceptionFilter」。文檔遺漏了「例外」。它似乎已經修復了Seam Servlet代碼,所以我想這個錯誤將在下次文檔發佈時得到解決。

+0

感謝分享! –