2016-06-29 6 views
2

Я хочу проверить некоторые команды cli, если они действительны из java. Я не могу использовать файл конфигурации, в котором я сейчас запущен. Кроме того, я не могу использовать запущенный Wildfly вообще, так как мне придется делать перезагрузки время от времени.Как запустить встроенный сервер в jboss cli из java-кода?

Так что я хочу использовать оффлайн-интерфейс командной строки (CLI с встроенным сервером)

Что я делаю:

Подключение к CLi с помощью org.jboss.as.cli.scriptsupport.CLI

CLI cli = CLI.newInstance(); 
cli.connect("127.0.0.1",9990,"admin","admin".toCharArray()); 

начиная встроенный сервер через cli.cmd

cli.cmd("embed-server --server-config=standalone.xml --std-out=discard"); 

Но, кроме меня, я всегда жду, чтобы эта команда закончила (?) Ничего не происходит.

Одна вещь, которую я заметил, после развертывания моего приложения configuration-management.war в wildfly, изменяет состояние «развернуто». Но тогда служба не запускается. Я не обращал на это особого внимания, потому что после этого я вижу выход из своего приложения. Может быть, это как-то связано с этим?

2016-06-29 15:59:55,333 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 83) WFLYUT0021: Registered web context: /configuration 

2016-06-29 15:59:55,364 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0016: Replaced deployment "configuration-management.war" with deployment "configuration-management.war" 

2016-06-29 15:59:55,364 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) WFLYCTL0183: Service status report 

WFLYCTL0186: Services which failed to start:  service jboss.deployment.unit."configuration-management.war".POST_MODULE 



2016-06-29 16:00:29,530 INFO [stdout] (default task-1) this is mine! 

Все есть только, что мало прялка смерти в верхнем левом углу моего браузера Mozilla Firefox, показывая, что я все еще жду ответа.

Любые подсказки?

ответ

1

При запуске встроенного сервера он не запускает никаких интерфейсов. Это включает в себя интерфейс управления. Это не похоже на поддержку скрипта для встроенного CLI. Вы могли бы file a feature request, чтобы поддержать его.

Однако для этого вы можете использовать API CLI CommandContext.

final CommandContext commandContext = CommandContextFactory.getInstance().newCommandContext(); 
commandContext.handle("embed-server --jboss-home=/path/to/wildfly-10.0.0.Final"); 
commandContext.handle(":read-resource"); 
commandContext.handle("stop-embedded-server"); 

Обратите внимание, некоторые команды, как module add, потребуется свойство jboss.home.dir системы нужно установить как хорошо.

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