检查Glassfish的DAS正在运行的程序(Check if Glassfish DAS is r

2019-07-05 04:29发布

如何检查是否Glassfish的DAS正在运行的程序,即使部署本地机器或远程机器上?

使用的Java6

Answer 1:

我已经找到一种方法来检查,如果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;

}



Answer 2:

您可以使用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;
    }
}

如果创建插座则连接到了,否则连接已断开。



Answer 3:

这就是通常将如何检查GlassFish是启动并运行:

但既然你想programmaticaly运行它,你可以做的是创建一个脚本,并从与Java代码执行脚本。

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

如果你是在Linux中,你也可以创建一个脚本到grep的GlassFish的过程。



文章来源: Check if Glassfish DAS is running programmatically