想象一下,我想确保在Tomcat中部署它所包含的战争时实例化该类.
例如,一个类有一个静态初始化程序,它启动一个定期打印CPU使用率的线程.一旦Tomcat加载战争,我需要这个类开始监视.
有没有办法做到这一点,而不必调用具有此类引用的Servlet,以便ClassLoader加载它并执行静态初始化程序?
我认为这是一个关于JAX-RS的一个非常基本的问题,但我不知道怎么也找不到答案.
我正在尝试重构REST服务,该服务使用"标准"Javax servlet - 将请求手动路由到方法 - 进入"更干净"的JAX-RS实现.当前应用程序在servlet init()期间设置一些变量.它将它们分配为HttpServlet类的属性,以便它们在每个doGet()期间可用,并且可以作为参数传递给请求处理方法.为清楚起见,其中一个是ConcurentHashMap,它充当缓存.
现在,使用JAX-RS,我可以扩展Application来设置我的资源类.我还可以在每个资源实现中使用@Context注释在处理请求时注入ServletContext之类的东西.但我不知道如何在应用程序初始化期间类似地注入变量集.
我正在使用JAX-RS的Apache Wink 1.3.0实现.