2012-08-23 98 views
2

我在Apache CXF的「how-to」階段,想知道服務器啓動時是否有方法調用方法。Apache CXF初始化的調用方法

這將是類似於JSF Web應用程序,當我用eager=true一個@ApplicationScoped託管bean:當容器啓動時,註釋的類實例化,我可以叫我無論從它的構造需要。

任何幫助?

回答

4

所以,如果你正在使用CXF Servlet服務Web Service要求,那麼你就可以創建ServletContextListenercontextInitialized方法將被調用在部署或在服務器啓動時,如果該應用程序已經部署。

要做到這一點創建類將實施ServletContextListener

public class YourContextListener implements ServletContextListener { 

    @Override 
    public void contextInitialized(ServletContextEvent sce) {  
     //This method is called by the container on start up 
    } 

    @Override 
    public void contextDestroyed(ServletContextEvent sce) {   
    } 

} 

然後在你的web.xml定義監聽器:

<listener> 
    <listener-class>your.package.YourContextListener</listener-class> 
</listener> 

contextInitialized方法,你可以通過使用獲得servlet上下文:

ServletContext context = sce.getServletContext(); 

你可以設置儘可能多的屬性可以在整個應用程序範圍內使用。

+0

Tks,它的工作!除此之外,它是一個乾淨而健壯的代碼。 – gfernandes