如何检查是否Glassfish的DAS正在运行的程序,即使部署本地机器或远程机器上?
使用的Java6
如何检查是否Glassfish的DAS正在运行的程序,即使部署本地机器或远程机器上?
使用的Java6
我已经找到一种方法来检查,如果DAS达比Linux脚本等。 有了这种方式并不重要,如果我的两个应用和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;
}
您可以使用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;
}
}
如果创建插座则连接到了,否则连接已断开。
这就是通常将如何检查GlassFish是启动并运行:
但既然你想programmaticaly运行它,你可以做的是创建一个脚本,并从与Java代码执行脚本。
try{
Runtime.getRuntime().exec("Path to my script");
}
catch(IOException e) {
System.out.println("exception");
}
如果你是在Linux中,你也可以创建一个脚本到grep的GlassFish的过程。