我有一个使用Jersey构建的应用程序。我需要通过运行特定于应用程序的登录/代码在Tomcat 7容器中启动webapp / war时进行一些初始化。
泽西岛最好的方法是什么?我之前在Servlet环境中使用了ContextListener和contextInitialized()。我需要确保在拨打电话之前已加载泽西岛资源。
答案 0 :(得分:13)
不确定你的意思是“泽西资源之前加载”,但是如果你想真正插入Jersey init进程..泽西有几个“监控”插件点(没有广泛宣传或记录)和我'我将描述在AbstractResourceModel初始化之后被调用 - 所以在应用程序启动之后。
试试这个:
@Provider
public class Listener implements AbstractResourceModelListener {
@Override
public void onLoaded(AbstractResourceModelContext modelContext) {
System.out.println("##### resource model initiated");
}
}
它应该每个应用程序生命周期只发生一次,我不太确定重新加载,但如果你不使用该功能,你不需要打扰它(无论如何,你应该在那里做一些检查以避免多次调用如果可能导致一些问题)。