Newsgroup: it.comp.java
Titolo: Tomcat UP or DOWN

Ciao,
esiste un modo per interrogare se tomcat e` attivo o meno?
grazie,
Andrea


Non sono stato molto preciso, intendevo: collegandomi ad un url, posso
verificare se tomcat e` attivo e, nel caso in cui non lo sia, fare il
redirect verso un'altra pagina?
grazie,
Andrea

 redirect verso un'altra pagina?
se il tomcat non è attivo evidentemente non ti risponde.
comunque non ho ancora capito cosa intendi fare e qual'è lo scopo di
questa operazione.
una sorta di alta affidabilità? perchè in questo caso ci sono sistemi
specifici per implementarla.

 specifici per implementarla.
-- 
Davide Consonni


La richiesta che mi e` stata fatta e` quella di "controllare" lo stato
di tomcat prima di indirizzare la richiesta.... se e` attivo devo fare
il forward verso l'apps di tomcat, altrimenti mostrare un messaggio
d'errore.

 d'errore.
ma chi è che indirizza la richiesta al tomcat?
normalmente apache+mod_jk che fra l'altro può fare facilmente quello
che chiedi, cioè restituire una pagina di errore nel caso in cui
tomcat non risponda.


Certo che si può fare
----------------------------------------------------------------
package com.lof;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
public class CatalinaStatus {
	private static final int TIMEOUT_SECONDS = 10;
    /**
     * The application main program.
     *
     * @param args Command line arguments
     */
    public static boolean isUp(String host, String port) {
        return isUp(host, Integer.parseInt(port),TIMEOUT_SECONDS);
    } // up
    public static boolean isUp(String host, String port, int timeout)
{
        return isUp(host, Integer.parseInt(port),timeout);
    } // up
    public static boolean isUp(String host, int port, int
timeoutSeconds) {
        try {
            Socket socket = new Socket();
            socket.setSoTimeout(timeoutSeconds * 1000);
            SocketAddress socketAddress = new InetSocketAddress(host,
port);
            socket.connect(socketAddress);
            socket.close();
            return true;
        } catch (IOException e) {
            return false;
        }
    } // up
    public static void main(String[] args) {
		String host="10.0.0.101";
		String port = "8180";
		boolean up = CatalinaStatus.isUp(host, port);
		System.out.println(up);
	}
  }
package com.lof;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
public class Catalina {
	private static final int TIMEOUT_SECONDS = 10;
	private String name;
	private String host;
	private String des;
	private int port;
	private int timeout;
	public Catalina(String name, String host, int port) {
 
this.name
=name;
		this.host=host;
		this.port=port;
	}
	public boolean isUp() {
        return isUp(TIMEOUT_SECONDS);
    } // up
    public  boolean isUp(int timeout) {
        return isUp(host, port,timeout);
    } // up
    private boolean isUp(String host, int port, int timeoutSeconds) {
        try {
            Socket socket = new Socket();
            socket.setSoTimeout(timeoutSeconds * 1000);
            SocketAddress socketAddress = new InetSocketAddress(host,
port);
            socket.connect(socketAddress);
            socket.close();
            return true;
        } catch (IOException e) {
            return false;
        }
    } // up
	public String getName() {
		return name;
	}
	public void setName(String name) {
 
this.name
 = name;
	}
	public String getHost() {
		return host;
	}
	public void setHost(String host) {
		this.host = host;
	}
	public String getDes() {
		return des;
	}
	public void setDes(String des) {
		this.des = des;
	}
	public int getPort() {
		return port;
	}
	public void setPort(int port) {
		this.port = port;
	}
	public int getTimeout() {
		return timeout;
	}
	public void setTimeout(int timeout) {
		this.timeout = timeout;
	}
}
----------------------------------------------------------------
se vuoi il codice completo con le pagine jsp te lo mando...
:O)
bye...