Configuración o topología del planificador

El planificador utiliza una base de datos para hacer persistente la información sobre qué tareas ejecutar y cuándo. Se pueden producir errores al modificar la topología del servidor de aplicaciones o al modificar la configuración del servidor o de la aplicación. Al modificar la configuración o topología, considere cuidadosamente cómo esta acción puede afecta al planificador.

Configuración de un Temporizador/Planificador EJB

Avoid trouble Avoid trouble: Cuando se configura un Temporizador/Planificador EJB, recuerde que el planificador predeterminado utiliza la base de datos Apache Derby basada en un simple archivo, de forma predeterminada, por lo que rápidamente puede obtener un entorno funcional activo y en ejecución. NO utilice la base de datos Derby con fines de producción. Además, la base de datos Derby predeterminada no da soporte a un planificador de trabajos en clúster ni a un contenedor de proceso por lotes en clúster.gotcha

Restricción de la seguridad

Si ha creado tareas con un servidor de aplicaciones mientras la seguridad está inhabilitada y decide habilitarla posteriormente, es posible que el planificador tenga dificultades para ejecutar las tareas. Al crear una tarea, el contexto de seguridad de una hebra de seguridad se almacena automáticamente con esta tarea. Si no se almacena la seguridad con la tarea (consulte Autorización de usuario de tareas del planificador ) y posteriormente habilita la seguridad en el servidor o la aplicación donde se vaya a ejecutar la tarea, es posible que se anoten cronológicamente los siguientes errores:
SECJ0053E: Ha fallado la autorización para /UNAUTHENTICATED al invocar (Home)com/ibm/websphere/scheduler
/TaskHandler create:2 securityName: /UNAUTHENTICATED;accessID: UNAUTHENTICATED no se ha otorgado a ninguno de
los roles necesarios: MySecurityRole

Antes de habilitar la seguridad en el servidor o la aplicación, determine si esta acción va a afectar a alguna de las tareas de modo adverso. Si es así, utilice la API del planificador o MBean WASScheduler para cancelar las tareas y volver a crearlas después de configurar la seguridad.

Cambios de topología del servidor de aplicaciones

El planificador almacena los objetos javax.ejb.HomeHandle para las factorías TaskHandler, NotificationSink y UserCalendar cuando se crea la tarea. Al ejecutar la tarea posteriormente, estos manejadores de ubicación inicial se vuelven a inflar y a utilizar para acceder a la ubicación inicial del componente EJB (Enterprise JavaBeans). Cuando el manejador de ubicación inicial hace referencia a un EJB en un entorno de un solo servidor, los manejadores de ubicación inicial tienen afinidad con dicho servidor. Cuando el manejador local hace referencia a un componente EJB de un clúster, los manejadores locales tienen afinidad con el clúster.

Si el servidor de aplicaciones o el clúster de WLM (Workload Managed) al que hace referencia un manejador de factoría no está disponible, el planificador no ejecuta correctamente la tarea y se registra el siguiente error:
SCHD0063E: Una tarea con el ID 123 no ha conseguido ejecutarse en Scheduler MyScheduler (sched/MyScheduler) debido a una
excepción: {causa del error}

Si actualiza el servidor de aplicaciones a un clúster, o si ORB_LISTENER_ADDRESS de ORB (intermediario para solicitudes de objetos) no se establece en un número de puerto fijo (consulte Configuración de transportes de entrada), es posible que la tarea no se realice correctamente debido a que la información almacenada en el manejador de ubicación inicial no dispone de la información adecuada para localizar el servidor deseado.

Actualización de un clúster del planificador

Un clúster del planificador (que no se debe confundir con un clúster WLM) es una colección de configuraciones del planificador en servidores de aplicaciones diferentes que comparten el mismo nombre JNDI (Java Naming and Directory Interface), origen de datos JDBC (Java Database Connectivity) y prefijo de tabla. Si actualiza un planificador autónomo a un planificador en clúster, la aplicación y cualquier recurso asociado que necesita la aplicación debe estar disponible. Si este no es el caso, la tarea planificada no se realiza correctamente y es posible que se anoten cronológicamente mensajes de error:
SCHD0103W: El planificador MyScheduler (sched/MyScheduler) no ha podido ejecutar la tarea 123 porque la
aplicación o el módulo no estaban disponibles: MyTaskHandlerEJB

Para evitar problemas con la disponibilidad de aplicaciones y lograr unos resultados óptimos, utilice los mismos servidores de un clúster del planificador que en un clúster WLM.

Reutilización de tablas del planificador

Al modificar una topología, cambiar de un entorno de desarrollo a uno de producción o realizar cambios de configuración que hacen que el entorno sea más restrictivo, puede obtener resultados óptimos si utiliza un conjunto distinto de tablas del planificador. La reutilización de tablas del planificador que tengan tareas planificadas de releases anteriores sin una planificación cuidadosa pueden ocasionar problemas:
  • Componentes EJB que se ejecutan en servidores de aplicaciones inesperados.
  • Tareas que no se ejecutan correctamente debido a unas credenciales de seguridad no válidas o que no existen.
  • Tareas que no se ejecutan correctamente debido a una información de contexto Java EE (Java Platform, Enterprise Edition) no válida o que no existe.

El diagnóstico de estos problemas es todo un desafío y requiere el análisis de los registros cronológicos de todos los servidores que tengan un planificador instalado y configurado. Cuando se localizan las tareas problemáticas, éstas se pueden cancelar mediante las API del planificador o bien se pueden eliminar las tablas y volver a crearlas.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsch_changes
File name: rsch_changes.html