diff options
Diffstat (limited to 'plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java')
-rw-r--r-- | plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java deleted file mode 100644 index ffb95a235..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.FileNotFoundException; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLConnection; - -import org.eclipse.wst.server.core.IServer; -/** - * Thread used to ping server to test when it is started. - */ -public class PingThread { - // delay before pinging starts - private static final int PING_DELAY = 2000; - - // delay between pings - private static final int PING_INTERVAL = 250; - - // maximum number of pings before giving up - private int maxPings = 56; // total: 16 seconds + connection time - - private boolean stop = false; - private String url; - private IServer server; - private TomcatServerBehaviour behaviour; - - /** - * Create a new PingThread. - * - * @param server - * @param url - * @param maxPings - * @param behaviour - */ - public PingThread(IServer server, String url, int maxPings, TomcatServerBehaviour behaviour) { - super(); - this.server = server; - this.url = url; - this.maxPings = maxPings; - this.behaviour = behaviour; - Thread t = new Thread("Tomcat Ping Thread") { - public void run() { - ping(); - } - }; - t.setDaemon(true); - t.start(); - } - - /** - * Ping the server until it is started. Then set the server - * state to STATE_STARTED. - */ - protected void ping() { - int count = 0; - try { - Thread.sleep(PING_DELAY); - } catch (Exception e) { - // ignore - } - while (!stop) { - try { - if (count == maxPings) { - try { - server.stop(false); - } catch (Exception e) { - Trace.trace(Trace.FINEST, "Ping: could not stop server"); - } - stop = true; - break; - } - count++; - - Trace.trace(Trace.FINEST, "Ping: pinging"); - URL pingUrl = new URL(url); - URLConnection conn = pingUrl.openConnection(); - ((HttpURLConnection)conn).getResponseCode(); - - // ping worked - server is up - if (!stop) { - Trace.trace(Trace.FINEST, "Ping: success"); - Thread.sleep(200); - behaviour.setServerStarted(); - } - stop = true; - } catch (FileNotFoundException fe) { - try { - Thread.sleep(200); - } catch (Exception e) { - // ignore - } - behaviour.setServerStarted(); - stop = true; - } catch (Exception e) { - Trace.trace(Trace.FINEST, "Ping: failed"); - // pinging failed - if (!stop) { - try { - Thread.sleep(PING_INTERVAL); - } catch (InterruptedException e2) { - // ignore - } - } - } - } - } - - /** - * Tell the pinging to stop. - */ - public void stop() { - Trace.trace(Trace.FINEST, "Ping: stopping"); - stop = true; - } -}
\ No newline at end of file |