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

Hilos o procesos

Estas en el tema de Hilos o procesos en el foro de Java en Foros del Web. Hola, buenas tardes, necesito hacer una aplicacion que ejecute procedimientos de un jar externo, mas cuando ejecute los procedimientos mi aplicacion continue buscando que mas ...
  #1 (permalink)  
Antiguo 31/01/2012, 21:03
 
Fecha de Ingreso: mayo-2007
Ubicación: Tijuana
Mensajes: 26
Antigüedad: 17 años, 7 meses
Puntos: 0
Hilos o procesos

Hola, buenas tardes, necesito hacer una aplicacion que ejecute procedimientos de un jar externo, mas cuando ejecute los procedimientos mi aplicacion continue buscando que mas procedimientos ejecutar a lo que me refiero es que ejecute los procedimientos y los deje ejecutandose independiente de mi aplicacion y de alguna manera saber el tiempo que tienen en ejecucion dicho proceso para dependiendo de este matar el proceso que esta ejecutando el procedimiento. ( digamos cuando los procesos que se llamaron a ejecutar X procedimiento del jar externo que tengan mas de X min matarlos o forzar a terminar, para liberarlos)

Agradecere mucho su apoyo
  #2 (permalink)  
Antiguo 01/02/2012, 23:43
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 10 meses
Puntos: 260
Sonrisa Respuesta: Hilos o procesos

Hola,

Primero tendrías que cargar las clases del archivo .jar, si estas están en el classpath solamente tienes que instanciarlas, sino tienes que agregarlas al classpath o cargarlas con un classloader personalizado, si no sabes el nombre de las clases tendrías que usar introspección para averiguarlas y posiblemente java.util.jar

Una vez que tienes los nombres de las clases tienes que averiguar los métodos públicos que exponen por medio de introspección, después haces un pool de threads y ejecutas cada método de cada clase que quieres ejecutar en un hilo de ese pool, esos hilos pueden ser una clase personalizada tuya que incluya el milisegundo cuando se inicio el proceso.

Adicionalmente tienes que tener un Timer para barrer el pool de threads cada cierto tiempo para saber cuales han expirado, comparando el milisegundo que guardaste con el milissengundo de la hora actual y los threas que hayan expirado los tienes que detener.

Seguramente si todo el sistema no está pensado para este objetivo van a existir muchos problemas como el caso de un huge memory leak, y la implementación tendrá que ser muy minuciosa.

Saludos,

Etiquetas: hilos, threads
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 14:20.