Utilización de planificadores
Los planificadores permiten ejecutar tareas de aplicaciones Java™ EE (Java Platform, Enterprise Edition) a una hora solicitada. Los planificadores permiten que los desarrolladores de aplicaciones creen sus propios componentes EJB (Enterprise JavaBeans) de sesión sin estado para recibir notificaciones de sucesos durante el ciclo vital de una tarea, lo que permite la creación de plug-ins de programas de utilidad de anotaciones o de aplicaciones de flujo de trabajo personalizados.
Acerca de esta tarea
- Invocar un método de bean de sesión
- Enviar un mensaje JMS (Java Message Service) a una cola o tema
Los componentes de beans EJB de sesión sin estado también se utilizan para proporcionar calendarios genéricos. Los desarrolladores pueden utilizar el bean de calendario proporcionado o crear el suyo propio para sus calendarios comerciales existentes. Por ejemplo, uno de sus procesos comerciales puede implicar la facturación de servicios. Mediante la utilización de componentes EJB sin estado por parte del planificador, puede planificar cuando se envían distribuciones periódicas por correo electrónico a los clientes que hayan recibido facturas. El servicio de planificador realiza estas tareas, repitiéndola según sea necesario, según los metadatos de la tarea.
Un planificador es el mecanismo mediante el cual se ejecuta el servicio de temporizador para Enterprise Java Beans para temporizadores persistentes. Puede configurar el servicio de temporizador EJB de modo que se utilicen muchas de las características que los planificadores ofrecen. Para obtener más detalles, consulte la información sobre cómo configurar un servicio de temporizador. Los temporizadores no persistentes no utilizan el servicio de planificador, pero pueden utilizar el gestor de trabajo para el planificador. Los temporizadores no persistentes utilizan directamente un gestor de trabajo.
Planificadores | Temporizadores EJB |
---|---|
Ejecutar componentes EJB de sesión sin estado y enviar mensajes JMS | Ejecutar todos los tipos EJB excepto para beans de sesión con estado |
Persistente, transaccional y muy disponible | Persistente, transaccional y muy disponible |
Tareas garantizadas para ejecutarse sólo una vez | Temporizadores garantizados para ejecutarse sólo una vez, si el temporizador EJB utiliza una transacción global gestionada por contenedor |
Ejecutar tareas repetitivas mediante cualquier regla de cálculo | Ejecutar tareas repetitivas mediante un intervalo repetitivo definido en milisegundos |
Utilizar un cálculo de tiempo con tasa fija para determinar intervalos repetitivos (la hora de ejecución siguiente se basa en la hora de inicio de la tarea anterior) | Utilizar un cálculo de tiempo con tasa fija para determinar intervalos repetitivos (la hora de la tarea siguiente se basa en el tiempo planificado original) |
Capacidad de supervisión programada de tareas con el uso del componente EJB de sesión sin estado NotificationSink | Sin supervisión programada de temporizadores |
Detenga tareas tardías o dependientes de la hora para evitar su ejecución | Detenga tareas tardías o dependientes de la hora para evitar su ejecución (mediante la detección manual con la implementación javax.ejb.TimedObject) |
Gestionar cualquier ciclo de vida de una tarea (encontrar, suspender, suspender, reanudar, cancelar y depurar tareas mediante programación a través de JMX (Java Management Extensions)) | Encontrar y cancelar sus temporizadores mediante programación. Los administradores pueden encontrar y cancelar temporizadores mediante un programa de utilidad de línea de mandatos. |
Almacenar una cantidad limitada de texto con los datos, como Nombre (de datos arbitrarios almacenados externamente) | Almacenar datos arbitrarios con un temporizador |
Esta tarea demuestra cómo gestionar, desarrollar e interoperar planificadores y tareas subsiguientes.