控制 JAX-RS 应用程序启动

首先,我是 JAX-RS 的新手。我正在尝试创建一个后端,并且我已经选择了 pom.xml 实现。更具体地说,我有这门课


import javax.ws.rs.ApplicationPath;

import javax.ws.rs.core.Application;


@ApplicationPath("webapi")

public class MyApp extends Application {


}

我想知道如何控制它何时启动并最终阻止它启动。


像这样的一些事情:


import javax.ws.rs.ApplicationPath;

import javax.ws.rs.core.Application;


@ApplicationPath("webapi")

public class MyApp extends Application {


    @Override

    public void onStartup() {

        if (!Utils.isConfDataValid()) 

            exit(1);

    }


}


我现在才知道任何应用程序事件,或者 JAX-RS 中的任何类似事件。


慕侠2389804
浏览 105回答 1
1回答

繁星淼淼

请注意,某些类型的事件或挂钩取决于 Web 应用程序服务器。在这种情况下JAX-RS,与您要查找的内容无关。另请注意,我不建议使用System.exit或终止这样的应用程序。由于它JAX-RS基于Servlet堆栈,因此您可以注册一个ServletContextListener实现以在上下文启动时执行代码。public class CustomServletContextListener implements ServletContextListener {&nbsp; &nbsp;@Override&nbsp; &nbsp;public void contextInitialized(final ServletContextEvent servletContextEvent) {&nbsp; &nbsp; &nbsp; // Context startup&nbsp; &nbsp;}&nbsp; &nbsp;@Override&nbsp; &nbsp;public void contextDestroyed(final ServletContextEvent servletContextEvent) {&nbsp; &nbsp; &nbsp; // Context shutdown&nbsp; &nbsp;}}@WebListener如果您在Servlet 3+环境中,可以通过注释来注册此侦听器@WebListenerpublic class CustomServletContextListener implements ServletContextListener {否则,您需要使用老式web.xml文件,如<listener-class>.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java