Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Llamar a una función en un momento exacto.

Estas en el tema de Llamar a una función en un momento exacto. en el foro de Java en Foros del Web. Tengo un proyecto hecho con spring y tengo que hacer que una función se ejecute en un momento exacto. Tengo una base de datos con ...
  #1 (permalink)  
Antiguo 15/01/2014, 11:46
 
Fecha de Ingreso: febrero-2006
Mensajes: 43
Antigüedad: 18 años, 9 meses
Puntos: 1
Llamar a una función en un momento exacto.

Tengo un proyecto hecho con spring y tengo que hacer que una función se ejecute en un momento exacto. Tengo una base de datos con eventos que tienen estados: activo, finalizado... y una fecha de fin. Pues bien en el momento exacto de la fecha de fin tengo que ejecutar una función para avisar de que el evento finalizó. ¿Cómo puedo hacer esto?

Un saludo y gracias.
  #2 (permalink)  
Antiguo 15/01/2014, 12:05
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Llamar a una función en un momento exacto.

Echa un ojo a la clase java.util.Timer. Aquí tienes unos ejemplos http://www.chuidiang.com/java/timer/timer.php (la java.util.Timer, no la javax.swing.Timer)

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 16/01/2014, 12:10
 
Fecha de Ingreso: febrero-2006
Mensajes: 43
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Llamar a una función en un momento exacto.

No lo he probado aún pero creo que me valdrá perfectamente, cuando lo implemente lo posteo!!

Muchas gracias!
  #4 (permalink)  
Antiguo 18/01/2014, 15:07
 
Fecha de Ingreso: febrero-2006
Mensajes: 43
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Llamar a una función en un momento exacto.

Listo, lo que me has puesto me ha funcionado perfectamente, para no tener que llamarlo en ningún lado he creado una clase y construido un método con la anotación @PostConstruct

Código PHP:
package com.omb.betserver.model.reviewerEvent;

import java.util.Timer;
import java.util.TimerTask;

import javax.annotation.PostConstruct;

public class 
ReviewerEvent {
     
    
TimerTask timerTask = new TimerTask()
     {
        public 
void run() 
        {
            
System.out.println("hola");
        }
     }; 
     
     public 
ReviewerEvent()
     {
         
     }
     
     @
PostConstruct
     
public void init()
     {
      
// Aquí se pone en marcha el timer cada segundo     
      
Timer timer = new Timer(); 
         
      
// Dentro de 0 milisegundos avísame cada 1000 milisegundos
      
timer.scheduleAtFixedRate(timerTask01000);          
     }

Y después creo un bean y listo:
<bean id="reviewerevent" class="com.omb.betserver.model.reviewerEvent.Revie werEvent" />

Etiquetas: fecha, momento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:36.