본문 바로가기

Programming/JAVA

WebLogic서버 감시 데몬

웹로직 서버가 정상인지를 간단히 체크하는 자바 코드 입니다.

보시고 더 좋은 방법있으시면 좀 알려주세요~


private String weblogicPing1    = "java weblogic.Admin -url t3://150.19.1.110:8001  -username system -password weblogic PING";        


try
                {           
                        //Unix ps -ef을 통해 프로세스가 살아 있는지 확인
                        Runtime rt = Runtime.getRuntime();
                       
                        //--------------------------------------------------------------
                        // WAS1 Check
                        //--------------------------------------------------------------
                        Process p = rt.exec(weblogicPing1);
                        //Process p = rt.exec("ps -ef");
                 
                        java.io.InputStream is = p.getInputStream();
                        java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(is));
                       
                        StringBuffer buf = new StringBuffer();
System.out.println("====================WAS1====================");                              

                        for(String str; (str=br.readLine())!=null;) {
System.out.println(str);
                                buf.append(str);
                        }
                                               
                        //PING 결과 확인
                        String mystr = buf.toString();
System.out.println("Return 값 " +  mystr);        

            //웹로직이 HANG되거나 Shutdown 되어 있는 경우
            if (mystr == null || mystr.equals("")) {
                    return false;
            }
           
                       //Web Logic이 정상적으로 PING을 보내주는 경우
                        int i = mystr.indexOf("RTT");

                        if (i>0) {
                                return true;
                        }
                        else {
                                return false;
                        }                                       
                }
                catch (Exception e)
                {
            System.out.println(e);
                }