Ola pessaol.
Tenho uma classe java que lê um arquivo .properties. Neste arquivo estão relacionados vários IP´s onde obtenho IP por IP e passo uma porta (fixa) para um socket que verifica se o IP/serviço esta ok, senão ele lança uma exception (Connection refused) etc.
O problema é o seguinte, se todos os IP´s/serviços estiverem ok rodando/no ar, blz ele me relaciona todos dizendo ok, se 1 único estiver fora, ele lança uma exception e quebra meu while (Código abaixo).
Alguém pode me dar sugestões de como resolver isso? Pensei um pouco e nada até agora.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.Socket;
public class Tester {
public static void main(String[] args){
int Porta = 12345;
String IPs = null;
Socket socket = null;
File file = null;
FileReader fileReader = null;
BufferedReader bufferedReader = null;
String quebra = "\n";
String traco = "-----------------------------------------------------------------------" + quebra;
String IPs_R_OK = traco + "Servico no(s) servidor(es) abaixo: ** ATIVO - OK! **" + quebra + quebra;
String IPs_R_ERRO = traco + "Servico no(s) servidor(es) abaixo: ## INATIVO - ERRO! ##" + quebra + quebra;
String IPs_OK = null; //Acumula ip´s ok´s lidos-verificados
String IPs_ERRO = null; //Acumula ip´s erro´s lidos-verificados
String plataforma = "*** ATENCAO ***\n ERRO. Servico provavelmente fora de Atividade!!!";
try {
file = new File("c:/IPs/IPs.properties");
fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
//Se o arquivo não estiver fazio leio todos os ip´s passando para o socket
if(file.length() > 0){
while((IPs = bufferedReader.readLine()) != null ){
//Como resolver aquie se der pau?
socket = new Socket(IPs, Porta);
//Serviços OK
IPs_OK += IPs + quebra;
//Serviços EROO
IPs_ERRO += IPs + quebra;
}
}
socket.close();
} catch (FileNotFoundException ex) {
System.out.println("*** ATENCAO: Arquivo " + file + " inexistente ou vazio. ***");
} catch(IOException ioE){
System.out.println("*** Problemas durante a conexao utilizando socket. ***");
ioE.printStackTrace();
}finally {
if(IPs_OK != null){
System.out.println(IPs_R_OK + IPs_OK + traco);
}
if (IPs_ERRO != null){
System.out.println(IPs_R_ERRO + IPs_ERRO + traco + plataforma);
}
if (socket != null) {
try {
socket.close();
}catch (IOException ioe) {
ioe.printStackTrace();
System.out.println("*** Erro ao fechar conexao socket. ***");
}// Fim if close socket
}// Fim último laço
}// Fim finally
}// Fim metodo main
}//Fim da classe Tester
Agradeço s força de todos.
Vlw.