检查Glassfish DAS是否以编程方式运行

如何检查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中,你也可以为glassfish进程创建一个grep脚本。