Контроль запуска приложения JAX-RS - PullRequest
0 голосов
/ 09 марта 2019

Прежде всего, я новичок в 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 Ответ

0 голосов
/ 09 марта 2019

Обратите внимание, что определенные типы событий или ловушек зависят от сервера веб-приложений.
В этом случае 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>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...