2013-03-18 3 views
1

Просто пытайтесь настроить удаленное развертывание проектов на Jboss AS 4.2.1 с помощью Jrebel.Удаленное развертывание артефакта Jboss AS с использованием JRebel

После включения JRebel для моего проекта в затмение наряду с функцией удаленного доступа, он запрашивает URL-адрес развернутого приложения на сервере. Как узнать URL-адрес моего проекта, чтобы я мог упомянуть об этом в разделе удаленного доступа JRebel?

Я думал о том, чтобы посмотреть его на консоли JMX, но мой проект будет находиться в папке lib EAR, развернутой на сервере, поэтому я не смог ее найти. Может кто-нибудь мне помочь?

+0

При развертывании приложения, как вы найти его на сервере? Если вы развернули приложение, разумно, что вы можете получить к нему доступ, верно? Так что это тот самый URL, который требует JRebel. –

+0

Ну, это просто, что другие развернутые приложения будут использовать мое приложение, которое будет присутствовать в папке lib на сервере. Так же, как любая «предоставленная» зависимость maven будет занимать папку lib на сервере, таком как tomcat. Как мне найти URL-адрес такого проекта? – mystarrocks

ответ

2

Для использования JRebel Remoting требуется компонент, обращенный к HTTP. Он использует протокол HTTP, используя тот же порт, что и веб-контейнер. Это означает, что нуль conf (вроде) и никаких дыр, чтобы высунуть в брандмауэр, но недостатком является то, что он не будет работать для приложений, в которых нет WAR-модуля (пока :) :).

Я предполагаю, что ваше приложение представляет собой файл jar внутри уха. Все, что ему нужно, - это военный модуль в этом ухе. Для этой войны не нужно иметь rebel.xml или rebel-remote.xml. Создайте WAR, если ее не существует.

URL-адрес будет адресом, который вы должны ввести в веб-браузере, чтобы получить доступ к этому webapp. Например, http://example.org:8080/MyWar/

Также убедитесь, что у вас есть rebel.xml и rebel-remote.xml в развернутом проекте библиотеки (просто создавать их в Eclipse недостаточно, эти два xml-файла должны быть на сервере).

Кроме того, необходимо установить и активировать JRebel на удаленном компьютере сервера, а затем запустить JBoss со следующими аргументами JVM: -javaagent: путь/к/jrebel.jar -Drebel.remoting_plugin = истинный где путь/к/jrebel.jar указывает на установленный файл jrebel.jar

Подробнее: http://zeroturnaround.com/software/jrebel/remoting/

В вашем случае макет EAR может выглядеть следующим образом:

- myapp.ear 
    - webapp.war 
    - someEJB.jar 
    - lib/ 
     - yourApp.jar 
      - WEB-INF/classes/ 
      - rebel.xml 
      - rebel-remote.xml 

     - someOtherLib.jar 

-

Arnel

JRebel Remoting Tech Lead

+0

Я собираюсь попробовать это и посмотреть, будет ли это работать для меня. Поэтому, если я понял, что у меня получился мой проект (jar) под недавно созданной войной, который останется в папке lib моего EAR. Верный? – mystarrocks

+1

Нет, ваша банка может оставаться там, где она находится (внутри EAR). Вам необходимо иметь модуль WAR в этом EAR для удаленного доступа к работе. Если он не существует, создайте его в корне уха. – Arnelism

Смежные вопросы