【问题标题】:Check if Glassfish DAS is running programmatically检查 Glassfish DAS 是否以编程方式运行
【发布时间】:2012-12-13 12:22:14
【问题描述】:

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

使用 Java6

【问题讨论】:

    标签: java jakarta-ee glassfish-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;
    

    }

    【讨论】:

      【解决方案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;
          }
      }
      

      如果创建了套接字,则连接建立,否则连接断开。

      【讨论】:

        【解决方案3】:

        这是您通常检查 glassfish 是否启动并运行的方式:

        但是由于您想以编程方式运行它,您可以做的是创建一个脚本并使用 java 从代码中执行该脚本。

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

        如果您使用的是 linux,您还可以为 glassfish 进程创建一个 grep 脚本。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-31
          • 1970-01-01
          • 1970-01-01
          • 2012-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-23
          相关资源
          最近更新 更多