Как остановить/запустить приложения EJB в JBOSS 6.0 из командной строки

Если я использую административную веб-консоль для JBOSS, я могу перейти к Applications — EJB2 JAR и просмотреть список развернутых EJB. Нажав на один из них, я получаю страницу, которая позволяет мне запускать и останавливать выбранный EJB. Однако я не могу найти эквивалент командной строки. Есть ли способ запустить/остановить приложения EJB в JBOSS через командную строку?

Я собираюсь использовать Appistry CloudIQ Manager для развертывания приложений и управления ими, и мне нужно иметь возможность создавать сценарии запуска и остановки отдельных EJB. Я нашел, как устанавливать и удалять через командную строку, просто нужно иметь возможность запускать, останавливать и запрашивать его статус (запущен/остановлен).


person Brett McCann    schedule 15.06.2010    source источник


Ответы (2)


Если вы хотите управлять JBoss через скрипт, вам, вероятно, следует использовать инструмент twiddle. Подробнее здесь: http://community.jboss.org/wiki/Twiddle.

Если вы хотите остановить приложение WAR, вы можете сделать что-то вроде этого:

  • список WAR-приложений и их имя bean-компонента:
twiddle.sh query 'jboss.web.deployment:*'

jboss.web.deployment:war=/ROOT
jboss.web.deployment:war=/admin-console
  • выключить приложение:
twiddle.sh invoke 'jboss.web.deployment:war=/ROOT' stop
  • включить приложение
twiddle.sh invoke 'jboss.web.deployment:war=/ROOT' start

К сожалению, я не могу найти аналогичное разрешение для приложения EJB. Вы можете найти такое приложение, используя эту команду:

twiddle.sh query 'jboss.j2ee:*'

А позже вы можете попробовать остановить или запустить какое-то приложение. К сожалению, это не работает для меня правильно.

Но вы всегда можете отменить развертывание и развернуть такое приложение. Вы можете сделать это так:

  • развертывать
twiddle.sh invoke "jboss.system:service=MainDeployer" deploy file:///path/to/ProjectEAR.ear 
  • развернуть
twiddle.sh invoke "jboss.system:service=MainDeployer" undeploy file:///path/to/ProjectEAR.ear 

Deploy

twiddle.sh invoke "jboss.system:service=MainDeployer" deploy file:///path/to/ProjectEAR.ear 

Но это вы должны помнить о таких вещах:

  • если вы используете горячее развертывание (служба HDScanner), вы не можете поместить приложение в каталог deploy (оно будет автоматически развернуто после удаления)
  • Если ваше приложение находится не в каталоге deploy, то сервер не установит его при запуске, и вам придется установить его вручную с помощью команды twiddle
person Lukasz Stelmach    schedule 19.06.2010

twiddle.sh вызывает 'jboss.web.deployment:war=/ROOT' стоп

person Krystyna    schedule 17.11.2010