2010-02-28 8 views
4

Я знаю, что серверы приложений, такие как Websphere и Weblogic, имеют возможности удаленного развертывания, которые могут быть написаны с помощью задач Ant или Jython. Есть ли что-то эквивалентное для JBoss? В принципе, если у меня есть сервер в каком-то известном месте, и у меня есть соответствующие учетные данные, как я могу удаленно развертывать JBoss?Удаленные развертывания JBoss

ответ

5

Развертывание на удаленном JBoss AS непросто, поскольку JBoss AS не оказывает значительной помощи в этой области. Но вот некоторые идеи/предложения:

  • Используйте JBoss JSR-88 implementation (который обрезают в Java EE 6 и, таким образом, будут удалены в Java EE 7, но это даст вам некоторое время).
  • Используйте базовый DeployManager, как предлагается @skaffman, и либо загрузите развертывание на удаленный сервер, либо используйте протокол file:// или поместите его на веб-сервер и используйте http://.
  • Использовать Cargo (но есть a limitation, развертывание должно быть сначала загружено на удаленный сервер).
  • Используйте jboss-maven-plugin, который использует интерфейс развертывания JMX и, таким образом, поддерживает удаленное развертывание (см. MJBOSS-3), как мы видели выше.
  • Или просто загрузите развертываемый (FTP, SCP) на удаленную машину и переместите их удаленно в каталог deploy.
2

Хороший вопрос. Вы не говорите, какую версию JBoss вы говорите (v4 и v5 такие же разные, как мел и сыр), поэтому я буду считать JBoss 4.x. Может быть какое-то сходство с JBoss 5, но я знаком только с 4.

Развертыватель JBoss основан на URL-адресе, и все сканирование развертываемых компонентов выполняется по URL-адресу. Сам развертыватель представлен компонентом JMX MainDeployer и находится на дереве JMX, его можно вызвать удаленно через HTTP или RMI. Один из методов развертывания - deploy(URL). Я использовал это только в контексте URL-адресов file://, но теоретически он должен работать и для URL-адресов HTTP. Таким образом, вы можете указать URL-адрес файла EAR/WAR на другом сервере, и он должен работать, скопировав EAR/WAR локально и распакуя его.

То, что я не думаю, что вы можете сделать, это «загрузить» что-то прямо на сервер и заставить его его развернуть. Я никогда не видел таких функциональных возможностей в JBoss (что не означает, что этого не существует, конечно, только то, что я этого не видел).

0

В зависимости от настройки сервера (вы говорите, что у вас есть учетные данные), вы всегда можете отправить файл EAR/WAR в каталог развертывания JBoss. Имейте в виду, что одна из возможных проблем заключается в том, что JBoss может фактически начать развертывание файла до того, как он завершит загрузку, что приведет к тому, что JBoss будет жаловаться на поврежденный файл EAR/WAR.

+0

Да, это происходит слишком часто. –

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