检查 Wildfly Server 是否与我的应用程序一起运行?

Mar*_*ter 5 jboss state wildfly server

我想知道如何检查 Wildfly Server 是否正在运行以及 WebApp 是否已部署?

目前我只检查服务器是否正在运行。

public static boolean checkServerAvailable() {
    try {

        String url = Constants.URL_APP + ":" + Constants.APPSERVER_PORT;

        HttpURLConnection.setFollowRedirects(false);
        // note : you may also need
        // HttpURLConnection.setInstanceFollowRedirects(false)
        HttpURLConnection con = (HttpURLConnection) new URL(url)
                .openConnection();
        con.setRequestMethod("HEAD");

        if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
            return true;
        }

        else
            return false;

    } catch (Exception e) {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我需要知道 Wildfly 服务器是否也成功部署了我的 Web 应用程序。

std*_*bar 3

首先,您可以将您的 webapp url 添加到您在上面创建的 url 中。例如,您可以连接到http://localhost:8080/ yourApp 并执行相同操作,而不是连接到http://localhost:8080/并查找 HTTP 200 响应。这意味着您在根上下文中有一些东西需要响应。

可以说更好的解决方案是在 Web 应用程序中提供“心跳”或“状态”服务。这类似于http://localhost:8080/yourApp/status。该方法或服务可能只返回 200,表示服务已启动。但它也可以真正检查您的应用程序是否健康。例如,它可以检查可用内存或确保数据库正常运行或执行许多其他操作。您显示的代码将仅使用状态服务的完整 URL。