1

如何检查 Glassfish DAS 是否以编程方式运行,即使它部署在本地机器或远程机器上?

使用 Java6

4

3 回答 3

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;

}

于 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.util.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 回答