Поймать событие внешнего останова jar для приложения Spring-boot с Intellij Idea - PullRequest
0 голосов
/ 31 мая 2018

для запуска моего приложения Spring Boot в производственной среде в моей компании есть система, которая выполняет "java -jar", и я пытаюсь смоделировать ее в своей идее Intellij, и jar запускается правильно, и я также могу отлаживать с источником проекта.

В режиме запуска и отладки, когда я нажимаю кнопку остановки, банка внезапно останавливается с сообщением:

Disconnected from the target VM, address: '127.0.0.1:58575', transport: 'socket'

Process finished with exit code -1

И я не могу поймать событие закрытия, чтобы закрыть соединения с БД.Я пробовал другие решения для работы со стеком, такие как PortalServiceLifeCycle , @ PreDestroy и setRegisterShutdownHook (false) в SpringApplication, запускаемом в основном .

Jar созданMaven с чистыми и пакетными целями, и у нас нет конфигураций xml spring, только аннотации.

Что мне нужно, чтобы перехватить службу закрытия для закрытия соединений?

Редактировать: Добавить мои кнопки Intellij:

enter image description here

Спасибо.

1 Ответ

0 голосов
/ 31 мая 2018

Пожалуйста, проверьте этот ответ .

Эта функция недоступна в режиме отладки.

Эта функция также недоступна для JAR запустить конфигурацию, но доступно для Приложение запустить конфигурацию.

Вы можете использовать удаленную отладку и Ctrl + C во внешней консоли для отладки кода в ловушках завершения работыпока IDEA-171093 не будет реализовано.

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