Jersey应用程序在启动时运行初始化代码以初始化应用程序

我有一个用Jersey构建的应用程序.我需要通过运行特定于应用程序的登录/代码在Tomcat 7容器中启动webapp / war时进行一些初始化.

泽西岛最好的办法是什么?我之前在Servlet环境中使用了ContextListener和contextInitialized().在进行此调用之前,我需要确保已加载Jersey资源.

最佳答案
不确定你的意思是“泽西资源之前加载”,但是如果你想真正插入Jersey init进程..泽西有几个“监控”插件点(没有广泛宣传或记录)和我要去的在AbstractResourceModel初始化之后调用describe – 所以在app启动之后.

尝试这个:

@Provider
public class Listener implements AbstractResourceModelListener {

    @Override
    public void onLoaded(AbstractResourceModelContext modelContext) {
        System.out.println("##### resource model initiated");
    }
}

它应该每个应用程序生命周期只发生一次,我不太确定重新加载,但如果你不使用该功能,你不需要打扰它(无论如何,你应该在那里进行一些检查,以避免多次调用,如果可以的话导致一些问题).

转载注明原文:Jersey应用程序在启动时运行初始化代码以初始化应用程序 - 代码日志