JBoss EAP 7.0 проверка запуска

Я хочу проверить, запускается ли мой JBoss EAP 7 через jboss-cli.

С JBoss EAP 6 я мог бы использовать следующую команду

jboss-cli.bat -c --commands="read-attribute server-state"

Пока сервер запускается, ответ starting. Когда сервер успешно загрузился, ответ будет running.

После перехода на JBoss EAP 7.0 та же команда возвращает следующее сообщение при запуске сервера. Failed to connect to the controller: Timeout waiting for the system to boot. При успешном запуске сервера возвращается обычное сообщение running.

Мой вопрос: почему jboss-cli не может подключиться к серверу, пока он не запустился?


person SilverNak    schedule 25.05.2018    source источник
comment
Вероятно, это означает, что интерфейс управления еще не настроен и не прослушивается. Это может сработать, если вы измените <command-timeout/> в файле $JBOSS_HOME/bin/jboss-cli.sh.   -  person James R. Perkins    schedule 26.05.2018


Ответы (2)


В EAP 7.x и EAP 6.3.0 или более поздних версиях можно настроить системное свойство jboss.as.management.blocking.timeout для настройки времени ожидания (в секундах) ожидания стабильности контейнера службы. Попробуйте установить этот параметр после подключения через CLI.

Начиная с EAP 6.3.0.ER8, в jboss.as.controller появился новый класс: BlockingTimeout. Этот класс загружает значение системного свойства jboss.as.management.blocking.timeout или значение по умолчанию 300 (секунд). Note: This property is not a timeout per deployment but a timeout on container stability and if jboss.as.management.blocking.timeout is reached during startup then all applications will be undeployed and the container shutdown. The reasoning behind this is that having a half-working server is potentially dangerous as you may not notice major failures. Таким образом, если ваше приложение не может загрузиться в течение заданного времени ожидания, CLI выдаст ошибкуFailed to connect to the controller: Timeout waiting for the system to boot

jboss-cli.sh --connect --controller=IP:PORT --timeout=40000 настройте значение тайм-аута так, чтобы оно превышало время, необходимое вашему серверу для запуска.

person Sweta Patra    schedule 28.05.2018
comment
Забавно то, что я не установил jboss.as.management.blocking.timeout, но тайм-аут происходит примерно через 2 секунды. Примерно через минуту сервер правильно развернул все приложения, и интерфейс командной строки работает правильно. - person SilverNak; 30.05.2018
comment
Вы можете попробовать установить это системное свойство через сервер перезапуска CLI: /system-property=jboss.as.management.blocking.timeout:add(value=600) и проверить, не меняет ли оно что-либо - person Sweta Patra; 30.05.2018
comment
Я так пробовал, но ничего не меняется. Сервер стартовал через 34688 мс - person SilverNak; 30.05.2018
comment
Это означает, что проблема связана только с интерфейсом командной строки, теперь мы можем развернуть задержку развертывания EAP. Попробуйте использовать jboss-cli.sh --connect --controller=10.10.10.10:9999 --timeout=40000, это должно сработать, просто добавьте свой порт EAP и IP-адрес правильно. - person Sweta Patra; 30.05.2018
comment
Извините, как-то не увидел уведомление. С --timeout=40000 кли ждет, пока сервер запустится, что решает проблему. Тем не менее мне интересно, почему сообщение starting исчезло? - person SilverNak; 01.06.2018
comment
Привет @SilverNak, ты нашел другое решение, кроме установки параметра timeout? - person Janfy; 11.04.2019
comment
@Janfy Я вроде как обошел эту проблему, проверяя не started, а Failed to connect и повторяя попытку. - person SilverNak; 11.04.2019

Фактическая командная строка: ./jboss-cli.sh --connect command=":read-attribute(name=server-state)"

person vishy dewangan    schedule 22.07.2019