私は「ハウツー」フェーズにApache CXF
あり、サーバーの起動時にメソッドを呼び出す方法があるかどうかを知りたいです。
JSF
これはWebアプリケーションに似ています。@ApplicationScoped
マネージドBeanを使用するeager=true
場合:コンテナーが開始されると、注釈付きクラスがインスタンス化され、コンストラクターから必要なものを呼び出すことができます。
何か助けはありますか?
したがって、リクエストの処理に使用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
メソッドでは、次を使用してサーブレットコンテキストを取得できます。
ServletContext context = sce.getServletContext();
また、アプリケーションスコープ全体で使用できるようにする属性をいくつでも設定できます。