Configuration du service de temporisation Enterprise JavaBeans

Pour les temporisateurs EJB non permanents, vous pouvez configurer le service de temporisation EJB pour contrôler l'intervalle entre les tentatives du temporisateur et le nombre de nouvelles tentatives en cas d'échec des appels dans la méthode de rappel du délai d'attente.

Pourquoi et quand exécuter cette tâche

Le service de temporisation EJB relance les appels ayant échoué avec la méthode de rappel du délai d'attente pour les temporisateurs non permanents, et ce toutes les 5 minutes jusqu'à ce que la méthode de rappel du délai d'attente aboutisse. Utilisez les options suivantes pour configurer les temporisateurs non permanents.

Nombre maximal de nouvelles tentatives

Spécifie le nombre maximal de tentatives d'appel de la méthode de rappel de délai d'attente en cas d'échec de celle-ci. Si la méthode de rappel de délai d'attente aboutit lors de la nouvelle tentative, le serveur cesse les tentatives d'exécution. Si une tentative échoue, le serveur poursuit ses tentatives jusqu'à ce que la méthode de rappel du délai d'attente aboutisse ou jusqu'à ce que le nombre maximal de tentatives soit atteint. Une fois que le nombre maximal de tentatives est atteint, le serveur cesse de tenter d'exécuter la méthode de rappel du délai d'attente, même si les tentatives antérieures ont échoué. La valeur par défaut de -1 indique un nombre illimité de tentatives. La valeur 0 indique qu'aucune nouvelle tentative n'est autorisée et n'est pas conforme à la spécification. La valeur 1 ou une valeur supérieure indique le nombre de nouvelles tentatives autorisées.

Le nombre de tentatives de lancement de la méthode de rappel du délai d'attente pour les temporisateurs non permanents doit être reconfiguré pour les applications qui n'ont pas besoin d'un temporisateur non permanent à chacune des heures planifiées. Par exemple, si une application crée un temporisateur à intervalle non permanent qui est planifié pour s'exécuter toutes les 5 minutes, et si vous configurez le nombre de tentatives sur 0, le temporisateur s'exécutera une fois toutes les 5 minutes, que l'opération aboutisse ou non.

Intervalle entre les tentatives

Spécifie l'intervalle entre les tentatives de relance en cas d'échec de la méthode de rappel du délai d'attente. La première tentative a toujours lieu immédiatement, quel que soit l'intervalle configuré pour cette valeur. Toutes les tentatives supplémentaires attendent l'intervalle spécifié pour cette valeur. La valeur 0 indique que toutes les tentatives sont immédiates. Une valeur égale ou supérieure à 1 indique que les tentatives doivent attendre durant ce nombre spécifique de secondes. La valeur par défaut est de 300 secondes.

La configuration d'un intervalle de temps différent entre chaque tentative pour les temporisateurs non permanents est utile pour les applications pour lesquelles il est important que la méthode de rappel du délai d'attente se termine avant l'heure planifiée, lorsque vous utilisez un intervalle entre les tentatives plus réduit. Cette approche est également applicable pour les applications dans lesquelles il est acceptable de différer l'exécution du temporisateur à une heure ultérieure, par exemple en utilisant un intervalle de relance ultérieur afin de donner plus de chances à la méthode de rappel du délai d'attente de s'exécuter correctement.

Procédure

  1. Configurez le serveur d'applications pour inclure une fonction EJB prenant en charge les temporisateurs non permanents dans le fichier server.xml. Par exemple, ajoutez ce qui suit au fichier server.xml :
    <featureManager>
         <feature>ejbLite-3.2</feature>
    </featureManager>
  2. Configurez le service de temporisation EJB pour utiliser un nombre maximal spécifique de nouvelles tentatives et de valeurs d'intervalles de tentative pour les temporisateurs non permanents dans le fichier server.xml. Par exemple, utilisez la configuration suivante pour spécifier que les temporisateurs non permanents effectuent un maximum de trois tentatives, à 10 secondes d'intervalle :
    <ejbContainer>        
         <timerService nonPersistentMaxRetries="3" nonPersistentRetryInterval="10"/>
    </ejbContainer>

    Avec cette configuration, la méthode de rappel du délai d'attente d'un temporisateur peut être appelée jusqu'à quatre fois. Le premier appel s'effectue à l'heure planifiée. Si le premier appel échoue, la première tentative a lieu immédiatement après l'échec. Si la méthode de rappel du délai d'attente continue d'échouer, la deuxième et la troisième tentative ont lieu 10 et 20 secondes plus tard, respectivement.

    Dans l'exemple suivant, lorsqu'une méthode de rappel du délai d'attente échoue, une seule nouvelle tentative est lancée. L'intervalle de rappel n'a aucune importance car la première tentative est toujours exécutée immédiatement.

    <ejbContainer> 
         <timerService nonPersistentMaxRetries="1"/>    
    </ejbContainer>

Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_config_ejbtime.html