2015-12-18 2 views
0

Я пытаюсь развернуть веб-приложение на Wilfly 9 с помощью native management api. Как выглядит правильный запрос в этом случае? При использовании CLI, команда будетРазвертывание через родное управление Wildfly api

$JBOSS_CLI --connect --command="deploy /path/to/war" 

, но это не соответствует определению в operation request syntax. Я пытался развернуть с просьбой

{ 
    "address" => [("deployment" => "/path/to/war")], 
    "operation" => "deploy" 
} 

но получить обратно сообщение об ошибке:

{ 
    "outcome" => "failed", 
    "failure-description" => "WFLYCTL0216: Management resource '[(\"deployment\" => \"/path/to/war\")]' not found", 
    "rolled-back" => true 
} 

ответ

0

Хорошо, вот что я придумал:

Следующая кли команда достигает того же результата, deploy с пути файла в качестве параметра: /deployment=my_deployment:add(enabled=true,content[url=file:///path/to/war]) Перевод в Java:

String address = ... 
int port = ... 
String user = ... 
String pass = ... 
Path file = ... 
ModelNode request = new ModelNode(); 
request.get(ClientConstants.OP).set(ClientConstants.ADD); 
request.get(ClientConstants.OP_ADDR).add("deployment", "my_deployment"); 
request.get("enabled").set(true); 
request.get("content").add("url", file.toUri().toString()); 
try (ModelControllerClient conn = ModelControllerClient.Factory.create(address, port, new PasswordClientCallbackHandler(user, null, pass.toCharArray()))) { 
    ModelNode response = conn.execute(request); 
    Logger.getLogger(Test.class.getName()).info(response); 
}