3

I want to check some cli commands if they are valid from java. I cant use the config file I'm currently running on. Additionally I can't use a running Wildfly at all, since I would have to do reloads every now and then.

So I want to use offline-cli (cli with embedded server)

What I'm doing:

Connect to CLi using org.jboss.as.cli.scriptsupport.CLI

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

starting an embedded server via cli.cmd

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

But apart from me waiting forever for this command to finish (?) nothing happens.

One thing I noticed was, after deploying my application configuration-management.war to wildfly, state changes to "deployed". But then, a service fails to start. I did not pay much attention to it, because after that I can see an output from my application. Maybe this has something to do with it?

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!

All there is is just that little spinning wheel of death at the upper left corner of my mozilla firefox, indicating that I'm still waiting for a response.

Any hints?

Jbartmann
  • 1,459
  • 4
  • 24
  • 42

1 Answers1

2

When you start an embedded server it doesn't start any interfaces. This includes the management interface. It doesn't look like the script support allows for embedded CLI. You could file a feature request to support it though.

However you can use the CLI CommandContext API to achieve this.

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");

Do note some command, like module add, will require the jboss.home.dir system property to be set as well.

James R. Perkins
  • 16,800
  • 44
  • 60