Я пытаюсь настроить в моем Eclipse neon.3 (4.6.3):
- Контейнер сервера Payara (4.1.2.174)
- Агент JRebel 7.1.3
для приложения, упакованного в формате EAR. В процессе развертывания в журнале Payara или JRebel не отображается никаких ошибок. Я получаю следующие сообщения относительно моих EJB:
2017-12-12T14:52:50.933-0200|INFORMAÇÕES: 2017-12-12 14:52:50 JRebel: Watching 'alfa.bc.logistica.core.ejb.AlfaTransportadorEJB' for changes
2017-12-12T14:52:50.936-0200|INFORMAÇÕES: Portable JNDI names for EJB AlfaTransportadorEJB: [java:global/alfa.bc.logistica.ee/alfa.bc.logistica.core.em/AlfaTransportadorEJB!alfa.bc.logistica.core.remote.AlfaTransportadorRemote, java:global/alfa.bc.logistica.ee/alfa.bc.logistica.core.em/AlfaTransportadorEJB]
Когда я вношу какие-либо изменения в их контролируемые классы (например, AlfaTransportadorEJB
), изменения не вносятся в контейнер, но файлы .class
компилируются и успешно генерируются в каталоге target
моего пути к классам (в опции IDE "Сборка автоматически" = истинный).
По-видимому, файлы .class
не «разворачиваются» в контейнере для выполнения процесса перезагрузки загрузки классов.
Дополнительная информация:
Для настройки JRebel я следовал этому руководству. .
Для той же версии соответствующего приложения EAR «перезагрузка классов» успешно выполняется с использованием Glassfish 4.1 с Jrebel 7.0.5. Однако в этом случае в процессе развертывания контейнер говорит следующее.
.
2017-12-12T15:02:24.167-0200|Informações: 2017-12-12 15:02:24 JRebel: Directory 'C:\Documentos\cooperateEE\logistica\alfa.bc.logistica.core.em\target\classes' will be monitored for changes.
... <another logs here> ...
2017-12-12T15:03:45.994-0200|Informações: 2017-12-12 15:03:45 JRebel: Watching 'alfa.bc.logistica.core.ejb.AlfaTransportadorEJB' for changes
2017-12-12T15:03:45.998-0200|Informações: Portable JNDI names for EJB AlfaTransportadorEJB: [java:global/alfa.bc.logistica.ee/alfa.bc.logistica.core.em/AlfaTransportadorEJB!alfa.bc.logistica.core.remote.AlfaTransportadorRemote, java:global/alfa.bc.logistica.ee/alfa.bc.logistica.core.em/AlfaTransportadorEJB]
Я думаю, что JRebel не отслеживает каталог target
, чтобы затем перезагрузить скомпилированные файлы .class
в контейнере.
По какой причине JRebel не идентифицирует мой целевой каталог, как указано в приведенном выше журнале («will be monitored for changes
»)?
will be monitored for changes
печатается, если модуль содержит файл rein.xml с допустимым путем. Rebel.xml должен быть расположен в корне EJB jar и вWEB-INF/classes
файлов WAR. EAR-ам не нужен файл manifest.xml, только их подмодули. Вы хотите сказать, что точно такой же EAR при развертывании на Glassfish работает, но не с сервером payara, или между ними есть какие-то различия? - person Murka   schedule 12.12.2017rebel.xml
находится в корневой папке проекта с файлами EJB jar, и да, та же версия приложения с файламиrebel.xml
приводит к другому поведению. Я только что провел еще один тест с JRebel версии 7.0.5 с Payara, но получил те же результаты. Похоже, Payara вызывает другое поведение на JRebel. - person Darlyn Vailatti   schedule 12.12.2017