我想知道如何检查我的Wildfly服务器是否正在运行以及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;
}
}
但我需要知道Wildfly服务器是否也是我的网络应用程序部署的成功。
答案 0 :(得分:3)
首先,您可以将您的webapp网址添加到您上面创建的网址中。您可以连接到http://localhost:8080/并执行相同操作,而不是连接到http://localhost:8080/yourApp并查找HTTP 200响应。这意味着你在根上下文中有一些东西可以回应。
一个可以说是更好的解决方案就是拥有一个"心跳"或者"状态"您的Web应用程序中的服务。这就像http://localhost:8080/yourApp/status。方法或服务可以返回200意味着服务已启动。但它也可以真正检查您的应用程序是否健康。例如,它可以检查可用内存或确保数据库已启动或其他许多内容。您显示的代码只会使用状态服务的完整URL。
答案 1 :(得分:2)
您可以使用WildFly提供的管理API。此处针对不同版本的WildFly描述了API。
对于WildFly9 - 请参阅https://wildscribe.github.io/Wildfly/9.0.0.Final/deployment/index.html
您可以使用以下URL检查部署状态。您确实需要管理用户进行身份验证。
独立模式:
http://localhost:9990/management/deployment/<deployment_name>
对于域名模式:
http://localhost:9990/management/host/<host_name>/server/<serer_name>/deployment/<deployment_name>
示例JSON响应(假设您部署了包含一些子部署的EAR文件):
{
"content": [{
"hash": {
"BYTES_VALUE": "2gH7ddtUxsbzBJEJ/z4T1jYERRU="
}
}],
"enabled": true,
"enabled-time": 1468861076770,
"enabled-timestamp": "2016-07-18 18:57:56,770 CEST",
"name": "myapplication.ear",
"owner": null,
"persistent": true,
"runtime-name": "myapplication.app.ear",
"subdeployment": {
"myapplication.impl.jar": null,
"myapplication.web.war": null
},
"subsystem": null
}
使用curl的示例请求:
curl --digest -D - http://localhost:9990/management --header "Content-Type: application/json" -d '{"operation":"read-resource", "include-runtime":"true", "address":["deployment","myapplication.app.ear"] }' -u user:password
答案 2 :(得分:0)
我在寻找一些东西来检查wildfly是否正在运行,here我看到了:
systemctl status wildfly
而且非常有用:
systemctl stop wildfly
systemctl restart wildfly
systemctl start wildfly