如何通过 CLI 获取 Wildfly 服务器状态?

Posted

技术标签:

【中文标题】如何通过 CLI 获取 Wildfly 服务器状态?【英文标题】:How to get Wildfly server status via CLI? 【发布时间】:2018-06-24 18:17:00 【问题描述】:

我一直在尝试验证我们的服务器是否已使用 jboss-cli.bat 在 Wildfly 中启动

这是我正在使用的命令:

/host=slave-1/server-config=REST-server-one:read-resource(include-runtime=true)

这就是我从命令中得到的


    "outcome" => "success",
    "result" => 
        "auto-start" => true,
        "cpu-affinity" => undefined,
        "group" => "wildfly-server-group",
        "name" => "wildfly-server",
        "priority" => undefined,
        "socket-binding-default-interface" => undefined,
        "socket-binding-group" => undefined,
        "socket-binding-port-offset" => 0,
        "status" => "STARTED",
        "update-auto-start-with-server-status" => false,
        "interface" => undefined,
        "jvm" => undefined,
        "path" => undefined,
        "ssl" => undefined,
        "system-property" => undefined

是否有一个命令会在响应中返回状态值?

【问题讨论】:

【参考方案1】:

您应该可以使用read-attribute 操作。

/host=slave-1/server-config=REST-server-one:read-attribute(name=status)

【讨论】:

【参考方案2】:

我最终使用了这个

BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

            String line = reader.readLine();
            while (line != null) 
                String[] value  = line.split("=>");
                if(value.length > 1)
                    if(value[0].contains("\"status\""))
                        System.out.println(value[1]);
                    
                
                line = reader.readLine();
            

如果有人能提出更好的方法将不胜感激。

【讨论】:

以上是关于如何通过 CLI 获取 Wildfly 服务器状态?的主要内容,如果未能解决你的问题,请参考以下文章

当我无法访问 CLI 工具时,如何关闭 JBoss Wildfly?

如何使用 jboss-cli 在 WildFly 17 中创建 JMS 队列

如何使用 Java 代码使用 jboss-cli 命令将 EAR 文件部署到 wildfly-17.0.1 服务器

如何从 Wildfly 中删除 KeyCloak?

WildFly jboss-cli.sh 添加数据源 Mysql 与 useSSL=false

如何使用 CLI 将模块添加到 Wildfly