Configuration ou topologie du service de planification

Le planificateur utilise une base de données pour conserver les informations relatives aux tâches à exécuter et aux moments appropriés pour cela. Des erreurs peuvent se produire en cas de modification de la topologie du serveur d'applications ou de la configuration de l'application ou du serveur. Lorsque vous modifiez la configuration ou la topologie, réfléchissez bien à l'impact de cette action sur le planificateur.

Configuration d'une horloge ou d'un planificateur EJB

Eviter les incidents Eviter les incidents: Lors de la configuration d'une horloge ou d'un planificateur EJB, sachez que le planificateur par défaut utilise la base de données Apache Derby simple à base de fichiers ce qui vous permet d'obtenir rapidement un environnement opérationnel. N'UTILISEZ PAS la base de données Derby à des fins de production. De plus, elle n'est pas compatible avec la mise en cluster du planificateur de travaux et du conteneur de travaux par lots.gotcha

Restriction de la sécurité

Si vous créez des tâches avec un serveur d'applications alors que la sécurité est désactivée et si vous décidez plus tard d'activer la sécurité, le planificateur peut avoir des difficultés à exécuter les tâches. Lorsque vous créez une tâche, le contexte de sécurité de l'unité d'exécution d'application est automatiquement stocké avec la tâche. Si la sécurité n'est pas stockée avec la tâche (voir Autorisations utilisateur pour les tâches Scheduler) et que vous activez ultérieurement la sécurité sur le serveur ou l'application où la tâche doit être exécutée, il se peut que les erreurs suivantes soient consignées :
SECJ0053E: Authorization failed for /UNAUTHENTICATED while invoking (Home)com/ibm/websphere/scheduler
/TaskHandler create:2 securityName: /UNAUTHENTICATED;accessID: UNAUTHENTICATED is not granted any of
the required roles: MySecurityRole

Avant d'activer la sécurité sur le serveur ou l'application, déterminez si cela peut avoir une conséquence négative sur certaines tâches. Si c'est le cas, utilisez l'API de planification ou WASScheduler MBean pour annuler les tâches et les recréer après avoir configuré la sécurité.

Modification de la topologie du serveur d'applications

Le planificateur stocke les objets javax.ejb.HomeHandle pour les home TaskHandler, NotificationSink et UserCalendar lorsque la tâche est créée. Lorsque vous exécutez la tâche ultérieurement, ces descripteurs home sont redéveloppés et utilisés pour accéder à l'accueil du composant EJB (Enterprise JavaBeans). Lorsque le descripteur home référence un EJB sur un environnement monoserveur, les descripteurs home possèdent une affinité avec ce serveur. Lorsque le descripteur home référence un composant EJB sur un cluster, les descripteurs home ont une affinité avec le cluster.

Si le serveur d'applications ou le cluster WLM (Workload Managed) référencé par un descripteur home n'est pas disponible, le planificateur ne parvient pas à exécuter la tâche et l'erreur suivante est consignée au journal :
SCHD0063E: A task with ID 123 failed to run on Scheduler MyScheduler (sched/MyScheduler) because of
an exception: {cause of failure}

Si vous mettez à jour le serveur d'applications vers un cluster ou si la valeur ORB_LISTENER_ADDRESS ORB (Object Request Broker) n'a pas de numéro de port fixe (voir Configuration des transports entrants), la tâche peut également échouer étant donné que les données stockées dans le descripteur home ne disposent pas des informations appropriées pour trouver le serveur souhaité.

Mise à niveau vers un cluster de planificateur

Un cluster de planificateur (à ne pas confondre avec un cluster WLM) est un ensemble de configurations de planificateur sur différents serveurs d'applications qui partagent le même nom d'interface JNDI (Java Naming and Directory Interface), la source de données JDBC (Java Database Connectivity) et le préfixe de table. Si vous convertissez un planificateur autonome en un cluster de planificateur, l'application et les ressources associées requises par l'application doivent être disponibles. Si ce n'est pas le cas, l'exécution de la tâche planifiée échoue et il se peut que des messages d'erreur soient consignés :
SCHD0103W: The Scheduler MyScheduler (sched/MyScheduler) was unable to run task 123 because the
application or module is unavailable: MyTaskHandlerEJB

Pour éviter les problèmes de disponibilité d'application et optimiser les résultats, utilisez les mêmes serveurs dans un cluster de planificateur que ceux utilisés dans un cluster WLM.

Réutilisation des tables du planificateur

Si vous modifiez une topologie, passez d'un environnement de développement à un environnement de production ou effectuez toute modification de configuration conduisant à environnement plus restrictif, vous pouvez optimiser les résultats en utilisant un groupe de tables de planificateur différent. La réutilisation de tables de planificateur comportant des tâches planifiées issues des versions précédentes sans planification attentive peut créer les problèmes suivants :
  • Exécution des composants EJB sur des serveurs d'applications inattendus.
  • Echec de l'exécution de certaines tâches en raison de justificatifs de sécurité incorrects ou manquants.
  • Tâches ne parvenant pas à s'exécuter du fait d'informations de contexte Java EE (Java Platform, Enterprise Edition) non valides ou manquantes.

Le diagnostic de ces problèmes peut être difficile à établir et requiert des journaux d'analyse sur tous les serveurs sur lesquels un planificateur est installé et configuré. Lorsque les tâches problématiques sont identifiées, elles peuvent être annulées à l'aide des API du planificateur ou les tables peuvent être annulées et recréées.


Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsch_changes
Nom du fichier : rsch_changes.html