如何检查Glassfish DAS是否正在以编程方式运行,即使它部署在本地或远程计算机上?
使用Java6
发布于 2012-12-13 21:24:01
除了Linux脚本之外,我还找到了一种检查DAS是否正常运行的方法。通过这种方式,无论我的应用程序和DAS在同一台机器上,还是各自安装在不同的机器上,都没有关系。
public static boolean isUrlReachable(String host) {
String URLName="http://"+host+":4848";
boolean isUp = false;
try {
HttpURLConnection.setFollowRedirects(false);
HttpURLConnection con = (HttpURLConnection) new URL(URLName).openConnection();
con.setRequestMethod("GET");
isUp = (con.getResponseCode() == HttpURLConnection.HTTP_OK);
con.disconnect();
}
catch (Exception e) {
return isUp;
}
return isUp;
}
发布于 2016-11-13 16:14:27
您可以使用socket
检查您的连接是否正常:
我用这样的方式来处理我的工作:
private boolean checkConnection(String host, int port) {
try {
Socket socket = new Socket(host, port);
socket.close();
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
如果创建了套接字,则连接处于打开状态,否则连接将断开。
发布于 2012-12-13 20:40:01
这是您通常检查glassfish是否已启动并运行的方法:
但是,由于您希望以编程方式运行它,因此您可以做的是创建一个脚本,并使用java从代码中执行该脚本。
try{
Runtime.getRuntime().exec("Path to my script");
}
catch(IOException e) {
System.out.println("exception");
}
如果您使用的是linux,您还可以为glassfish进程创建一个grep脚本。
https://stackoverflow.com/questions/13859776
复制相似问题