Example #1
0
    public void run() {

      try {
        isStarting = true;
        synchronized (this) {
          serverSocket = new ServerSocket(0);
          this.port = serverSocket.getLocalPort();
          setRunning(true);
          isStarting = false;
          this.notifyAll();
        }

        System.err.println("Child-process heartbeat server started on port: " + port);

        while (true) {
          Socket sock = serverSocket.accept();
          log("Got heartbeat connection from client; starting heartbeat.");
          synchronized (heartBeatThreads) {
            HeartbeatThread hbt = new HeartbeatThread(sock);
            heartBeatThreads.add(hbt);
            hbt.start();
          }
        }
      } catch (Exception e) {
        if (!running) log("Heartbeat server was shutdown.");
        else log("Got expcetion in heartbeat server: " + e.getMessage());
      } finally {
        setRunning(false);
        log("Heartbeat server terminated.");
      }
    }
 /**
  * Starts the channel.
  *
  * @param svc int - what service to start
  * @throws ChannelException Start error
  * @see org.apache.catalina.tribes.Channel#start(int)
  */
 @Override
 public synchronized void start(int svc) throws ChannelException {
   setupDefaultStack();
   if (optionCheck) checkOptionFlags();
   super.start(svc);
   if (hbthread == null && heartbeat) {
     hbthread = new HeartbeatThread(this, heartbeatSleeptime);
     hbthread.start();
   }
 }