为了账号安全,请及时绑定邮箱和手机立即绑定

控制 JAX-RS 应用程序启动

控制 JAX-RS 应用程序启动

慕侠2389804 2022-07-27 20:01:50
首先,我是 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 中的任何类似事件。
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

请注意,某些类型的事件或挂钩取决于 Web 应用程序服务器。

在这种情况下JAX-RS,与您要查找的内容无关。


另请注意,我不建议使用System.exit或终止这样的应用程序。


由于它JAX-RS基于Servlet堆栈,因此您可以注册一个ServletContextListener实现以在上下文启动时执行代码。


public class CustomServletContextListener implements ServletContextListener {

   @Override

   public void contextInitialized(final ServletContextEvent servletContextEvent) {

      // Context startup

   }


   @Override

   public void contextDestroyed(final ServletContextEvent servletContextEvent) {

      // Context shutdown

   }

}

@WebListener如果您在Servlet 3+环境中,可以通过注释来注册此侦听器


@WebListener

public class CustomServletContextListener implements ServletContextListener {

否则,您需要使用老式web.xml文件,如<listener-class>.


查看完整回答
反对 回复 2022-07-27
  • 1 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信