Glassfish DASがローカルマシンまたはリモートマシンにデプロイされている場合でも、プログラムで実行されているかどうかを確認するにはどうすればよいですか?
Java6を使用する
Glassfish DASがローカルマシンまたはリモートマシンにデプロイされている場合でも、プログラムで実行されているかどうかを確認するにはどうすればよいですか?
Java6を使用する
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;
}
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が稼働していることを確認する方法です。
しかし、プログラムで実行したいので、スクリプトを作成し、Javaを使用してコードからスクリプトを実行することができます。
try{
Runtime.getRuntime().exec("Path to my script");
}
catch(IOException e) {
System.out.println("exception");
}
Linuxを使用している場合は、Glassfishプロセスのgrepを実行するスクリプトを作成することもできます。