J-Index
A B C D E F G H I J K L M N O P Q R S T U V W X _

J

JVTComparator - class com.ejie.r01f.jvt.JVTComparator.
Clase que compara dos objetos JVT (Java Value Types), buscando las diferencias en su estado y en base a ellas compone un "plan de trabajo" con los cambios a realizar Se tienen dos copias de objetos JVT, uno que está en un estado S1 y otro que está en un estado S2 (estado S1 después de que se hayan modificado datos, creado o borrado objetos dependientes) Esta clase se encarga de buscar las diferencias entre el estado S1 y el estado S2 componiendo un plan de trabajo con las actualizaciones a realizar.
JVTComparator() - Constructor for class com.ejie.r01f.jvt.JVTComparator
Constructor por defecto
JVTComparator(XOMap, Object, Object) - Constructor for class com.ejie.r01f.jvt.JVTComparator
Constructor en base al mapeo de clases y miembros y los objetos a comparar.
JVTComparator.PlanTableOperation - class com.ejie.r01f.jvt.JVTComparator.PlanTableOperation.
 
JVTComparator.PlanTableOperation() - Constructor for class com.ejie.r01f.jvt.JVTComparator.PlanTableOperation
 
JVTComparator.PlanTableOperation(int, Object[]) - Constructor for class com.ejie.r01f.jvt.JVTComparator.PlanTableOperation
 
JVTComparatorException - exception com.ejie.r01f.jvt.JVTComparatorException.
Excepción lanzada en el proceso de comparación de JVTs (Java Value Types)
JVTComparatorException() - Constructor for class com.ejie.r01f.jvt.JVTComparatorException
 
JVTComparatorException(Exception) - Constructor for class com.ejie.r01f.jvt.JVTComparatorException
 
JVTComparatorException(long, Exception) - Constructor for class com.ejie.r01f.jvt.JVTComparatorException
 
JVTComparatorException(String) - Constructor for class com.ejie.r01f.jvt.JVTComparatorException
 
JVTComparatorException(long, String) - Constructor for class com.ejie.r01f.jvt.JVTComparatorException
 
JVTComparatorException(String, Exception) - Constructor for class com.ejie.r01f.jvt.JVTComparatorException
 
JVTComparatorException(long, String, Exception) - Constructor for class com.ejie.r01f.jvt.JVTComparatorException
 
Job - class com.ejie.r01f.process.Job.
Definición de una llamada a un metodo en un objeto.
Job() - Constructor for class com.ejie.r01f.process.Job
Constructor vacio
Job(String, Object, Method, Object[], Object, Method) - Constructor for class com.ejie.r01f.process.Job
Constructor
JobManager - class com.ejie.r01f.process.JobManager.
Clase que ejecuta operaciones sobre objetos en base a un pool de threads que se encargan de procesar trabajos: Se pueden ir poniendo en cola trabajos que son procesados por threads del pool IMPORTANTE!!! Si el trabajo que realiza el thread es de CALCULO (el for en este ejemplo), las ventajas del pool de threads NO se aprecian (incluso va peor) En cambio si el trabajo es intensivo en IO por ejemplo, las ventajas son enormes (en el ejemplo, dormir el thread) Ej 1: for (int i=0; iSe comienza la ejecución de los trabajos!!!"); jobManager.waitForAll(schedulledJobs,1000); // Esto bloquea AQUI la ejecución hasta // la finalización de todos los trabajos System.out.println("\r\n\r\n\r\n\r\n\r\n---->Se han ejecutado todos los trabajos!!!"); // ======== FORMA HABITUAL DE OBTENER LOS RESULTADOS // ======== (además del CallBack) for (Iterator it = schedulledJobs.iterator(); it.hasNext(); ) { Job currJob = (Job)it.next(); // Cuidado: El resultado del trabajo puede ser una excepcion!!! try { if (currJob.isEnded()) { Object result = currJob.getResult(); System.out.println("Resultado>>>>> " + result); } else { System.out.println("El trabajo " + currJob.getId() + " NO se ha terminado!!"); } } catch(Exception ex) { ex.printStackTrace(System.out); } } // =================== Segunda forma de ejecución: ASINCRONA // Lanzar su ejecucion SIN bloquear el flujo hasta que se terminen todos System.out.println("\r\n\r\n\r\n\r\n\r\n---->Se comienza la ejecución de los trabajos!!!"); jobManager.startAll(schedulledJobs); // Esto NO bloquea AQUI la ejecución hasta // la finalización de todos los trabajos // El flujo sigue System.out.println("\r\n\r\n\r\n\r\n\r\n---->NO se sabe si se han ejecutado todos los trabajos!!!"); // NOTA: Se puede seguir utilizando la forma habitual de recojer los resultados, pero ANTES HAY QUE ASEGURARSE DE QUE SE HAN TERMINADO TODOS LOS TRABAJOS JobManager.Stats stats = null; try { do { stats = jobManager.getStats(); // Volver a obtener estadisticas!! System.out.println(">>>>Estadisticas de la ejecución de trabajos\r\n" + stats.composeDebugInfo() + "\r\n----------------------------------------------------->"); if (stats.jobsInProgress > 0) Thread.sleep(1000); } while (stats.jobsInProgress > 0); System.out.println("---->Todos los trabajos han terminado!!!"); // Aqui ya se pueden recoger los resultados } catch(InterruptedException intEx) { intEx.printStackTrace(System.out); } IMPORTANTE: Tiempos de idle: Si en el constructor del JobManager se especifica un tiempo máximo de permanencia en estado idle de un thread pueden pasar dos cosas: - Si minThreads es -1 y no hay trabajos pendientes, el thread se mata - Si minThreads != -1 y el pool de threads está lleno, el thread se mata OJO!!! Si no se especifica minThreads = -1, SIEMPRE habrá corriendo tantos threads como quepan en el pool
JobManager(boolean, int, int, int) - Constructor for class com.ejie.r01f.process.JobManager
Constructor...
JobManager(boolean, int, int) - Constructor for class com.ejie.r01f.process.JobManager
Constructor
JobManager(Properties) - Constructor for class com.ejie.r01f.process.JobManager
Constructor...
JobManager.Stats - class com.ejie.r01f.process.JobManager.Stats.
 
JobManager.Stats() - Constructor for class com.ejie.r01f.process.JobManager.Stats
 
JobManagerFactory - class com.ejie.r01f.process.JobManagerFactory.
Clase que contiene un singleton del JobManager
JspRegisterGenerator - class com.ejie.r01f.servlet.JspRegisterGenerator.
 
JspRegisterGenerator() - Constructor for class com.ejie.r01f.servlet.JspRegisterGenerator
 
jobsInProgress - Variable in class com.ejie.r01f.process.JobManager.Stats
 

A B C D E F G H I J K L M N O P Q R S T U V W X _