Permettre les nouvelles tentatives des commandes du contrôleur

Une commande qui peut être réessayée est une commande de contrôleur qui peut se ré-exécuter après avoir rencontré une exception au niveau du système pendant l'exécution de commande.

Remarque :
  • Les nouvelles tentatives ne sont pas autorisées pour les services Web
  • Toutes les commandes de la classe CommandRegistryEntry peuvent être réessayées par défaut.

Procédure

  1. Pour effectuer une commande de contrôleur existante qui peut être réessayée, doit effectuer l'une des étapes suivantes :
    1. Définissez les propriétés retriable dans la colonne PROPERTIES de la table de base de données CMDREG, où PROPERTIES représente les propriétés par défaut associées à cette commande. Les propriétés sont dans le formulaire property1=value1&property2=value2, où propertyn représente le nom de la propriété et valuen la valeur correspondant à la propriété.
    2. Dans le fichier de configuration , définissez une propriété d'instance <CommandRegistryRetriableProperty defaultValue="1" />.
      Remarque :
      • Vous pouvez également définir la propriété instance à l'aide de <CommandRegistryRetriableProperty defaultValue="true" />.
      • Définir la propriété de l'instance sur 0 ou les résultats false dans la commande de contrôleur ne pouvant être réessayée.
      Restriction : Le mécanisme réessayable est codé dans la structure Struts plutôt que dans les structures de commande REST ou BOD. Si une commande de contrôleur est configurée comme étant réessayable et est appelée à l'aide de la structure Struts (classe BaseAction), le mécanisme réessayable fonctionnera et la commande de contrôleur sera appelée à nouveau si elle échoue en raison d'erreurs système. Toutefois, si la commande de contrôleur a été appelée à l'aide des structures de commande REST ou BOD, elle ne sera pas réessayée, même si la commande de contrôleur est configurée comme réessayable.
    3. Définissez la méthode setRetriable() pour retourner true.
  2. La propriété réessayable est initialisée par la fabrique de commandes en fonction des propriétés définies dans l'une des configurations de commande ci-dessus. Cette configuration de commande au moment de l'exécution peut provenir des deux emplacements suivants dans l'ordre de séquence suivant :
    1. Le paramètre réessayable CommandRegistryEntry est affectée à partir des propriétés réessayables de la colonne PROPERTIES de la table de base de données CMDREG, uniquement lorsque cette entrée existe dans la table de base de données.
    2. Sinon, si une propriété d'instance appelée <CommandRegistryRetriableProperty defaultValue="0" /> ou <CommandRegistryRetriableProperty defaultValue="false" /> est défini dans le fichier de configuration , la fabrique de commandes utilisera ce paramètre comme configuration réessayble par défaut.
    3. Dans le cas contraire, la valeur réessayble définie dans la commande contrôleur sera utilisée.