Ola a todos,
Pessoal estou com um probleminha na rotina abaixo e gostaria de uma opinião de voces de como melhora-lá.
É o seguinte, ela funciona em um balcão com quatro computadores, que quando um usuario clica em imprimir de uma pagina web é gerando um txt no servidor, um computador que esta ligado um impressora bematech não fiscal e a rotina funcionando, essa rotina verifica o arquivo a cada dez segundos, se tiver informação envia para a impressora.
Só que hora funciona, hora não. Gostaria de uma sugestão de como melhorar essa rotina para que fique funcionando sem ter que ficar apertando F5 nas paginas web.
package acesso;
import java.io.*;
import java.net.*;
import java.util.Timer;
import java.util.TimerTask;
public class Acesso{
//private String JRBeanCollectionDataSource;
public void Apaga() throws IOException{
URL url = new URL("http://tst.fateci.com.br/academico/desenvolve/fotos/delete.php");
URLConnection amp_apaga = url.openConnection();
InputStream stream = amp_apaga.getInputStream();
amp_apaga.connect();
}
public static final long TEMPO = (100 * 60);
public static void main(String[] args) throws MalformedURLException, IOException {
final Acesso ap = new Acesso();
Timer timer = null;
if (timer == null) {
timer = new Timer();
TimerTask tarefa = new TimerTask() {
private FileOutputStream outputFile;
@SuppressWarnings("static-access")
public void run() {
try{
FileFilter filter = new FileFilter() {
public boolean accept(File file) {
return file.getName().endsWith(".txt");
}
};
File dir = new File("/caminho/do/seu/diretorio");
File[] files = dir.listFiles(filter);
URL amplus = new URL("http://tst.fateci.com.br/academico/desenvolve/fotos/dados.txt");
URLConnection amp = amplus.openConnection();
amp.setConnectTimeout(7000);
amp.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(amp.getInputStream(), "ISO-8859-1"));
StringBuilder lines = new StringBuilder();
String line;
for(line = in.readLine(); line != null;
line = in.readLine())
{
lines.append(line).append("\n\r");
}
in.close();
if(lines.length() == 0){
}else{
ap.Apaga();
FileOutputStream outputFile = new FileOutputStream("LPT1:");
PrintWriter out = new PrintWriter(outputFile);
out.print(lines);
out.flush();
outputFile.close();
out.close();
//System.out.println(lines);
}
} catch (MalformedURLException me) {
} catch (IOException ioe) {
}
} //fechou run
}; // fechou TimerTask
timer.scheduleAtFixedRate(tarefa, TEMPO, TEMPO);
}
}
}
Agradeço qualquer ajuda