1

Glassfish DASがローカルマシンまたはリモートマシンにデプロイされている場合でも、プログラムで実行されているかどうかを確認するにはどうすればよいですか?

Java6を使用する

4

3 に答える 3

1

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;

}

于 2012-12-13T13:24:00.977 に答える
1

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;
    }
}

ソケットが作成されている場合は接続が確立されており、そうでない場合は接続が停止しています。

于 2016-11-13T08:14:26.957 に答える
0

これは、通常、glassfishが稼働していることを確認する方法です。

ここに画像の説明を入力してください

しかし、プログラムで実行したいので、スクリプトを作成し、Javaを使用してコードからスクリプトを実行することができます。

try{
Runtime.getRuntime().exec("Path to my script");
} 
catch(IOException e) {
System.out.println("exception");
}

Linuxを使用している場合は、Glassfishプロセスのgrepを実行するスクリプトを作成することもできます。

于 2012-12-13T12:40:01.017 に答える