Отладка сервисов Thorntail в Eclipse? - PullRequest
0 голосов
/ 15 мая 2019

У меня есть несколько проектов микросервисов, которые я разрабатываю с использованием платформы Thorntail. Я пишу свой код с использованием Eclipse. В прошлом я делал все свои разработки с использованием сервера приложений Wildfly, а Eclipse делала отладку этих приложений максимально простой. Right Click->Debug As->Debug On Server. Готово. Теперь, когда я использую Thorntail, я не совсем уверен, как это сделать.

Из командной строки я запускаю свои проекты Thorntail, используя:

mvn thorntail:run -Dthorntail.useUberJar # Project 1
mvn thorntail:run -Dthorntail.useUberJar -Dthorntail.port.offset=1000 # Project 2

Это все работает и прослушивает порты 8080 и 9080. Однако службы не находятся в режиме отладки, и я не запускал их через Eclipse.

Я знаю, что могу Right Click->Debug As->Maven Build..., а затем создать новую конфигурацию отладки. Я сделал это с моими целями, соответствующими командам mvn выше. Однако, когда я делаю это, никакой отладчик не присоединяется автоматически, поэтому точки останова и тому подобное не работают. Я уверен, что где-то пропустил шаг, но это функциональность, которую я не пытался использовать раньше, поэтому я потерян Любые рекомендации?

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

Выполнить уберджар со следующими параметрами.Убедитесь, что перед именем uberjar в строке указаны все параметры.

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=$PORT_NUMBER -jar $UBERJAR_FILENAME

$ PORT_NUMBER - это неиспользуемый номер порта по вашему выбору.Запомните этот номер для конфигурации удаленного отладчика.

$ UBERJAR_FILENAME - это uberjar.

suspend=y гарантирует, что JVM приостановит и ожидает подключения к удаленному отладчику до запуска приложения.

Для удаленной отладки с помощью Eclipse IDE необходимо открыть Eclipse, открыть исходный код целевого приложения и создать конфигурацию отладки («Удаленное приложение Java»), указав целевой хост и порт.После этого нажмите кнопку «Отладка» и продолжайте удаленную отладку.

0 голосов
/ 15 мая 2019

mvn thorntail:run принимает системное свойство thorntail.debug.port с номером порта. Например, если вы запустите

mvn thorntail:run -Dthorntail.useUberJar -Dthorntail.debug.port=5005

процесс Java будет ожидать подключения к удаленному отладчику и только после этого будет продолжаться.

Я не использую Eclipse, но я почти уверен, что настроить сеанс удаленной отладки не сложно.

...