Пока что единственный известный способ
Tip
Если у вас после прочтения этого гайда всё ещё ничего не запускается/всё падает/всё ломается, пишите мне в Telegram: t.me/@nyapsilon.
- Используемая версия Java:
openjdk version "17.0.2" 2022-01-18
; - Используемая версия WildFly:
29.0.1.Final
. - Работоспособность с другими версиями возможна, но не гарантируется гайдом. Экспериментируйте на свой страх и риск.
- Скачиваем на гелиос чистый WildFly и распаковываем.
- Меняем дефолтные порты на незанятые в
$JBOSS_HOME/standalone/configuration/standalone.xml
.
Примерно
509
-ая строка, ищите
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
- Увеличить Metaspace (кучу по надобности):
export _JAVA_OPTIONS='-XX:MaxHeapSize=1G -XX:MaxMetaspaceSize=512m'
-
bin/standalone.sh
можно не менять. Проверено, что запустить можно и не изменяя опции JBoss'а. Будьте аккуратны, подобное может вызвать непонятные, не связанные с изменениями и постоянно меняющиеся ошибки . -
Создаем нового пользователя (в директории WildFly'я):
./bin/add_user.sh
# Выбираем Management User
# Юзернейм, пароль - любые
# Группа - пустая
- Запускаем:
-
Если интересует только JConsole, можно запускать так:
./bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0
. -
Если нужно подключать еще и VisualVM, требуется изменить настройки JMX:
./bin/standalone.sh -b 0.0.0.0 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.port=7203 \
-Dcom.sun.management.jmxremote.rmi.port=7203 \
-Djava.rmi.server.hostname=0.0.0.0 \
-Djboss.bind.address.management=0.0.0.0 \
-Djboss.bind.address=0.0.0.0
- Используемая версия Java:
21.0.2-open
. - Возможно, некоторые манипуляции с JConsole (в случае ошибки
sun.misc.Unsafe not found
) придется проводить с версией Java1.8
.
-
Скачать себе с Helios через
scp
файл$JBOSS_HOME/bin/client/jboss-cli-client.jar
. -
Прокинуть порты: обычный http порт, чтобы тыкать лабу (8080 by default), и management порт (9990 by default)
ssh -L localhost:PORT1:0.0.0.0:PORT1 localhost:PORT2:0.0.0.0:PORT2 sXXXXXX@se.ifmo.ru -p 2222 -N
- Запустить JConsole этой командой (!):
jconsole -J-Djava.class.path=%путь_до_%jboss-client.jar
- В JConsole выбираем
Remote Process
и вводим туда URL такого типа (PORT
- это management порт):
service:jmx:remote+http://0.0.0.0:PORT
-
Вводим имя пользователя и пароль, которые создали во время исполнения на
./bin/add_user.sh
на Helios. -
Нажимаем
Connect
и молимся, чтобы подключилось!
- Установить VisualVM (проще всего это делать через sdkman.io, но можно и скачать с их сайта).
- Запускаем VisualVM.
- Подключаемся удаленно не (!) через Remote в дереве слева, а через
File > Add JMX Connection
. - В
Connection:
вводимservice:jmx:remote+http://0.0.0.0:PORT
где (PORT
- это management порт), ставим флагиUse security credentials
,Save security credentials
иDo not require SSL connection
. - Вводим имя пользователя и пароль, которые создали во время исполнения на
./bin/add_user.sh
на Helios. - Нажимаем
OK
и молимся, чтобы подключилось!
Проект доступен с открытым исходным кодом на условиях Лицензии MIT.
Авторские права 2024 Max Barsukov
Поставьте звезду ⭐, если вы нашли этот проект полезным.