Apache CXF初始化的调用方法

时间:2012-08-23 19:52:50

标签: java apache cxf

我正处于Apache CXF的“操作方法”阶段,并且想知道在服务器启动时是否有办法调用方法。

当我使用带有JSF的{​​{1}}托管bean时,它类似于@ApplicationScoped Web应用程序:当容器启动时,带注释的类被实例化,我可以调用无论我想从它的构造函数。

任何帮助?

1 个答案:

答案 0 :(得分:4)

因此,如果您使用CXF Servlet来提供Web Service请求,那么您可以创建ServletContextListener并在部署或服务器启动时调用contextInitialized方法该应用程序已经部署。

为此,创建将实现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();

您可以设置任意数量的属性,以便在整个应用程序范围内可用。