2016-06-29 5 views
2

Ich möchte einige CLI-Befehle überprüfen, wenn sie von Java gültig sind. Ich kann die Konfigurationsdatei nicht verwenden, auf der ich gerade läuft. Außerdem kann ich eine laufende Wildfly überhaupt nicht verwenden, da ich hin und wieder neu laden müsste.Wie kann ich einen eingebetteten Server in jboss cli aus Java-Code starten?

Deshalb möchte ich offline-cli (mit Embedded Server cli) verwenden

Was ich tue:

Verbindung zu CLi org.jboss.as.cli.scriptsupport.CLI

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

Starten eines Embedded-Server über cli.cmd

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

Aber abgesehen von mir, die immer darauf warten, dass dieser Befehl beendet wird (?) Passiert nichts.

Eine Sache, die ich bemerkte, war nach der Bereitstellung meiner Anwendung configuration-management.war zu Wildfly, Änderungen an "im Einsatz". Aber dann kann ein Dienst nicht gestartet werden. Ich habe nicht viel darauf geachtet, weil ich danach eine Ausgabe meiner Bewerbung sehen kann. Vielleicht hat das etwas damit zu tun?

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! 

Alles ist nur, dass wenig Spinnrad des Todes in der oberen linken Ecke meines mozilla firefox, was darauf hindeutet, dass ich warte immer noch auf eine Antwort.

Irgendwelche Hinweise?

Antwort

1

Wenn Sie einen eingebetteten Server starten, werden keine Schnittstellen gestartet. Dies beinhaltet die Verwaltungsschnittstelle. Es sieht nicht so aus, als ob die Script-Unterstützung Embedded CLI erlaubt. Sie könnten file a feature request unterstützen, obwohl es.

Sie können jedoch die API CLI CommandContext verwenden, um dies zu erreichen.

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

Sie einen Befehl beachten, wie module add, die jboss.home.dir Systemeigenschaft erfordert auch eingestellt werden.

Verwandte Themen