我正处于“操作方法”阶段,Apache CXF想知道服务器启动时是否有一种方法可以调用。
Apache CXF
这将类似于JSFWeb应用程序,当我将@ApplicationScoped托管bean与一起使用时eager=true:启动容器时,将对带注释的类进行实例化,并且可以从其构造函数中调用所需的任何东西。
JSF
@ApplicationScoped
eager=true
有什么帮助吗?
因此,如果您CXF Servlet用于服务Web Service请求,则可以创建ServletContextListener,contextInitialized如果已经部署了应用程序,则在部署或服务器启动时将调用方法。
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:
web.xml
<listener> <listener-class>your.package.YourContextListener</listener-class> </listener>
在该contextInitialized方法中,您可以使用以下方法获取servlet上下文:
ServletContext context = sce.getServletContext();
而且,您可以设置希望在整个应用程序范围内可用的任意多个属性。