Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2015, 16:43
Lawliet18
 
Fecha de Ingreso: marzo-2015
Mensajes: 45
Antigüedad: 9 años, 9 meses
Puntos: 2
Timer (Poleo)

Hola...

Nuevamente yo compañeros, pero es que la verdad ya intente lo mas que pude y no consigo resultado positivo alguno, además que la documentación que encuentro sigue sin serme muy clara todavía para mis necesidades, espero explicarme lo mas posible...

Verán, tengo una aplicación de java lista para ejecutarse desde línea de comando, dicha aplicación tiene como objetivo consultar a base de datos, crear directorios por cada registro de la base así como crear archivos de texto plano dentro de los directorios previamente creados, sin embargo, dicha aplicación no la ejecuto directamente desde consola sino mas bien es ejecutada mediante otra aplicación java a través de un timer, el objetivo del timer es ejecutarse cada 10 minutos y cuando termine de ejecutarse el .jar que es llamado pasa a un estado de pausa para posteriormente cuando sean los 10 minutos, ejecutarse nuevamente. No obstante, mi problema no radica en lograr hacer este proceso, mas bien se enfoca que cuando ejecuto mi .jar para llamar al siguiente veo que la creación de las carpetas es sumamente lenta comparada a como debería crearlas, además de que el contenido por cada carpeta de acuerdo a la ejecución individual del archivo (Ejecute el archivo que contiene toda el código "rudo" directamente) deben ser un total de 8 archivos y veo que me crea el doble de archivos

A continuación, proporciono mi código correspondiente al poleo...

Código Java:
Ver original
  1. package com.comerciales.canada.main;
  2.  
  3. import java.util.Timer;
  4. import java.util.TimerTask;
  5.  
  6. public class PoleoCarpeta {
  7.     Timer timer;
  8.  
  9.     public PoleoCarpeta() {
  10.         timer = new Timer();
  11.         timer.schedule(new PoleoCarpetaTask(),0,60000);
  12.     }
  13.  
  14.     public void timerSleep(){
  15.         System.out.println("Poleo PAUSADO");
  16.         try {
  17.             Thread.sleep(60000);
  18.             timer.cancel();
  19.             timer.purge();
  20.             new PoleoCarpeta();
  21.         } catch (InterruptedException e) {
  22.             e.printStackTrace();
  23.         }
  24.     }
  25.    
  26.     class PoleoCarpetaTask extends TimerTask {
  27.         public void run() {
  28.             System.out.println("Poleo REANUDADO");
  29.             try {
  30.                 Runtime.getRuntime().exec("java -jar C:\\Legada\\ProyectoComercialesCarga.jar");
  31.                 timerSleep();
  32.             } catch (Exception e) {
  33.                 e.printStackTrace();
  34.             }
  35.         }
  36.     }
  37.  
  38.     public static void main(String args[]) {
  39.         System.out.println("Poleo COMENZADO");
  40.         new PoleoCarpeta();
  41.     }
  42. }

No estoy seguro si este fallo en especial (Creación de carpetas lento y duplicación de archivos) corresponde al timer o bien a la programación que se encuentra en el otro archivo.

Sin mas que comentar, agradezco su tiempo y pronta respuesta. Que tengan un excelente día...

P.D. Si es necesario el otro archivo con gusto comparto el código.