我想查看一些cli命令,如果它们在java中有效。我无法使用我当前正在运行的配置文件。另外,我根本不能使用正在运行的Wildfly,因为我不得不经常重新加载。
所以我想使用offline-cli(cli with embedded server)
我在做什么:
使用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的左上角只有那个小小的死轮,表明我还在等待回应。
任何提示?
答案 0 :(得分:1)
启动嵌入式服务器时,它不会启动任何接口。这包括管理界面。它看起来不像脚本支持允许嵌入式CLI。你可以file a feature request来支持它。
但是,您可以使用CLI CommandContext
API来实现此目的。
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
系统属性。