Jersey初始化功能(在Application对象或ServletContextListner中)

【Jersey初始化功能(在Application对象或ServletContextListner中)】智者不为愚者谋,勇者不为怯者死。这篇文章主要讲述Jersey初始化功能:在Application对象或ServletContextListner中相关的知识,希望能为你提供帮助。
我有一个使用Servlet 3.0的Jersey应用程序。我有一个在servlet初始化时使用的javax.ws.rs.Application。

public class MyApplication extends ResourceConfig {....}

我有一些应该在servlet初始化时运行的逻辑。我可以将这个逻辑放在MyApplication的构造函数中,或者我可以定义一个ServletContextListner。
public class Config implements ServletContextListener {@Override public void contextInitialized(ServletContextEvent event) { // Do stuff during server startup. }...}

什么是正确的方法?
从Jersey文档中看来,这不是Application对象的预期用例。
JAX-RS提供了一个部署无关的抽象类Application,用于声明根资源和提供程序类,以及根资源和提供程序单例实例。 Web服务可以扩展此类以声明根资源和提供程序类。
答案MyApplication构造函数中的任何逻辑只会在收到的第一个请求中执行。
如果需要逻辑在servlet初始化时运行,则应使用ServletContextListner。

    推荐阅读