/ / Matar hilo en java después de un tiempo determinado - java, multiproceso, twitter, twitter4j

Matar hilo en java después de un tiempo determinado - java, multihilo, twitter, twitter4j

Tengo un caso de uso como el siguiente (en JAVA)

Recibo una solicitud del cliente

E.g: Haz tareas de transmisión de twitter hasta esta fecha.

  • Tarea = Twitter streaming
  • Palabras clave = {"# hoy", "#apple"}
  • Tiempo = hasta el 5 de febrero de 2017.

Lo que hago es, Abro un nuevo hilo en cada solicitud que recibo y comienzo mi tarea que consiste en transmitir tweets y guardarlos en la base de datos.

Lo que quiero hacer es que el subproceso debe detener la transmisión y debe eliminarse después de esta fecha (5 de febrero).

¿Cómo puedo implementar este tipo de caso de uso?

Respuestas

1 para la respuesta № 1

Puedes usar el Calendar clase y comprobar que, por ejemplo,

Calendar c = Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of("CET")));
c.set(Calendar.MONTH, 1)
c.set(Calendar.DAY_OF_MONTH, 5)
c.set(Calendar.HOUR_OF_DAY, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
c.set(Calendar.MILLISECOND, 999);

while(true){
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of("CET")));
if(cal.getTime().after(c.getTime()) return;
}