Como se implementa un demonio en un sistema - Java

Publicado en 'Programación' por dieguis22, 8 Jun 2010.





  1. dieguis22

    dieguis22 Miembro nuevo

    Registro:
    21 May 2010
    Mensajes:
    8
    Likes:
    0




    Hola amigos, tengo una pregunta:
    Como veran el tema, me interesa saber como puedo hacer para implementar un demonio en un sistema en Java, lo que quiero que haga este demonio es que cada media hora verifique en el servidor si se ha ingresado un archivo cuyo nombre tenga ciertas caracteristicas.
    Si alguien me puede ayudar en este tema estare muy agradecido o darme alguna buena referencia.:)
    Salu2.
     


  2. AwesoMarron

    AwesoMarron Miembro maestro

    Registro:
    14 Abr 2010
    Mensajes:
    549
    Likes:
    56
    Crea un servlet que inicie un timer:
    Código:
    public class ApplicationInitServlet extends HttpServlet {
        
        public void init(ServletConfig config) throws ServletException {
            super.init(config);
            System.out.println("Inicio de Daemon.");
            long delay = 20; //demora antes de la primera ejecución
            long period = 180; //período entre ejecuciones (en segundos)
            
            startUpTimer(delay, period);
            System.out.println("Daemon iniciado.");
        }
        
        
        protected void startUpTimer(long delay, long period) {
            Timer timer = new Timer();
            TimerTask task = new TimerTask() {
                public void run() {
                  
                   /*
                    *
                    *
                    * Tu lógica va aquí
                    *
                    *
                    *
                   */
                     
                }
            }
        };
    
            //Inicia el timer con demora inicial y periodo especificados en milisegundos
            timer.scheduleAtFixedRate(task, delay * 1000, period * 1000);
        }
        
        public void destroy() {
        }
    
       protected void processRequest(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
        }
    
        protected void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            processRequest(request, response);
        }
    
       protected void doPost(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            processRequest(request, response);
        }
    
       public String getServletInfo() {
            return "Servlet de inicio";
        }
    }
    
    Configura tu aplicación para ejecutar el servlet al iniciar la misma.
     
  3. dieguis22

    dieguis22 Miembro nuevo

    Registro:
    21 May 2010
    Mensajes:
    8
    Likes:
    0
    Muchas gracias amigo!!!!
    Me fue de mucha ayuda :wow:
     
  4. saul1905

    saul1905 Miembro frecuente

    Registro:
    25 Abr 2010
    Mensajes:
    76
    Likes:
    32
    Me sirvio de mucho gracias
     
Etiquetas: