iteye_16885 2011-08-17 17:23
浏览 1163
已采纳

java如何监听一个端口

我想用java监听weblogic服务的7001端口,如果发现weblogic的这个端口停止了,就启动它,怎么做!

要求: 一是用java代码怎么判断一个weblogic程序是否在运行
二是怎么用java代码启动一个固定端口weblogic服务
三是这个小程序在服务器上一直处于运行状态
高分求教!

  • 写回答

10条回答 默认 最新

  • myali88 2011-08-22 17:13
    关注

    我的想法是把weblogic安装为window的服务,然后通过“net”命令来启动或停止,而判断weblogic启动或停止的方法就是采用一个Socket连接过去,如果连接异常就表示没有启动。下面是我针对Mysql做类似的工作:
    [code="java"]
    public class RunCommand {

    public static void main(String[] args) throws Exception {
        boolean run = false;
        try {
            Socket socket = new Socket("localhost" , 3306);
            run = socket.isConnected();
        } catch (ConnectException e) {
            System.out.println("Mysql has stop");
        }
    
        if (run) {
            System.out.println("Mysql is running");
        } else {
            System.out.println("Start to MySQL");
    
            Runtime runtime = Runtime.getRuntime();
            Process p = runtime.exec("net start MySQL"); 
    //      p.waitFor(); 
    
            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); 
            String line = reader.readLine(); 
            while(line!=null) { 
                System.out.println(line); 
                line=reader.readLine(); 
            } 
        }
    }
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?