|
What this is
Other links
The source code/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.web.core;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.net.Socket;
import java.net.URLConnection;
import java.net.URL;
import java.net.InetAddress;
import java.net.UnknownHostException;
/** Utility class
* @author Petr Jiricka
* @version 1.00, Jun 03, 1999
*/
public class Util {
/** Waits for startup of a server, waits until the connection has
* been established. */
public static boolean waitForURLConnection(URL url, int timeout, int retryTime) {
Connect connect = new Connect(url, retryTime);
Thread t = new Thread(connect);
t.start();
try {
t.join(timeout);
} catch(InterruptedException ie) {
}
if (t.isAlive()) {
connect.finishLoop();
t.interrupt();//for thread deadlock
}
return connect.getStatus();
}
public static String issueGetRequest(URL url) {
BufferedReader in = null;
StringBuffer input = new StringBuffer();
try {
in = new BufferedReader(new InputStreamReader(
url.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
input.append(inputLine);
input.append("\n"); // NOI18N
}
return input.toString();
}
catch (Exception e) {
//e.printStackTrace();
return null;
}
finally {
if (in != null)
try {
in.close();
}
catch(IOException e) {
//e.printStackTrace();
}
}
}
/** Returns string for localhost */
/* public static String getLocalHost() {
try {
return InetAddress.getLocalHost().getHostName();
}
catch (UnknownHostException e) {
return "127.0.0.1"; // NOI18N
}
}
*/
private static class Connect implements Runnable {
URL url = null;
int retryTime;
boolean status = false;
boolean loop = true;
public Connect(URL url, int retryTime) {
this.url = url;
this.retryTime = retryTime;
}
public void finishLoop() {
loop = false;
}
public void run() {
try {
InetAddress.getByName(url.getHost());
} catch (UnknownHostException e) {
return;
}
while (loop) {
try {
Socket socket = new Socket(url.getHost(), url.getPort());
socket.close();
status = true;
break;
} catch (UnknownHostException e) {//nothing to do
} catch (IOException e) {//nothing to do
}
try {
Thread.currentThread().sleep(retryTime);
} catch(InterruptedException ie) {
}
}
}
boolean getStatus() {
return status;
}
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.