URL SendTransactedMsg

Cette URL envoie tous les messages en suspens en utilisant les services Send Transacted Sending.

Structure de l'adresse URL

http://host_name/path/
Nom qualifié complet du serveur HCL Commerce et chemin de configuration

Structure de l'URL SendTransactedMsg

Valeurs des paramètres

msgId
ID qui identifie de manière unique le message. Indique le message à envoyer lorsque la commande est appelée à l'aide de la valeur dans la colonne MSGID du tableau MSGSTORE. Spécifiez msgId ou numOfMessages. Si numOfMessages est utilisé avec le paramètre msgId, le numOfMessages est ignoré.
maxSeconds
Le nombre maximal de secondes pendant lesquelles une instance du travail peut s'exécuter. Cette valeur n'inclut pas le temps passé à attendre un verrou de mise à jour sur la ligne de la table SCHCONFIG. Cette valeur ne tient pas non plus compte du temps passé à attendre une fois les registres actualisés. Spécifiez un nombre positif, ou zéro pour n'indiquer aucune limite. La valeur par défaut est de 90% de la valeur d'intervalle de travail du planificateur DynaCacheInvalidationCMD. Pour ajuster le temps d'attente après l'actualisation des registres, modifiez la valeur du paramètre waitSecondsAfterRefreshRegistry. Lorsque la transaction atteint la limite maxSeconds, le travail tente de faire une pause, laissant le travail restant incomplet. Le travail incomplet demeure jusqu'à ce que le même travail s'exécute à nouveau. Si la valeur de cette colonne est nulle, maxSeconds=0 est utilisé. Modifiez la valeur maxSeconds basée sur l'expiration de la transaction configurée dans la base de données et la valeur SCCINTERVAL. La durée réelle utilisée par la transaction peut dépasser le nombre spécifié.
numOfMessages
Facultatif : Spécifie le nombre de messages dans le tableau MSGSTORE à envoyer. Seuls les messages dont la valeur RETRIES est supérieure à 0 sont envoyés. Spécifiez numOfMessages ou msgId.
batchSize
Facultatif : Spécifie le nombre maximal de messages à envoyer dans une transaction ; la valeur par défaut est 1. Si un message du lot ne peut pas être envoyé, tous les autres messages du lot seront mis en file d'attente pour la prochaine exécution de l'URL. Utilisez ce paramètre avec le paramètre numOfMessages ou seul.

Exemple 1

Cet exemple montre l'envoi d'un maximum de 99 messages d'une taille de lot de 3.

https://myhostname/webapp/wcs/stores/servlet/SendTransactedMsg?numOfMessages=99&batchSize=3

Exemple 2

Cet exemple montre l'envoi d'un message avec l'ID 123456.

https://myhostname/webapp/wcs/stores/servlet/SendTransactedMsg?msgId=123456

Comportement

  • Lorsque l'URL s'exécute, la commande de contrôleur SendTransactedMsgCmd est appelée pour envoyer des messages en file d'attente à l'aide du service d'envoi sendTransacted().
  • La méthode performExecute() appelle la méthode assembleMsg() pour extraire les paramètres facultatifs.
  • Les messages exceptionnels sont dans le tableau de base de données MSGSTORE et envoyés. Chaque message est envoyé dans une transaction individuelle (lorsque batchSize est 1). Si une exception est rencontrée lors de l'envoi d'un message, la valeur dans la colonne MSGSTORE.RETRIES pour le message est diminuée de 1. Le service tente alors d'envoyer le message suivant localisé. Le message que le service n'a pas envoyé reste stocké et si la valeur de la colonne RETRIES est supérieure à 0, le service tente d'envoyer le message à nouveau lors de la prochaine exécution de l'URL. Les messages d'une valeur de 0 dans la colonne RETRIES sont laissés dans le tableau et ne sont pas envoyés tant qu'un administrateur de site n'a pas incrémenté la valeur dans la colonne RETRIES. Alternativement, l'administrateur peut supprimer le message du tableau.

    Si batchSize est plus grand que 1, disons 3, il tente d'envoyer 3 messages avant qu'une transaction soit terminée. Une fois la transaction terminée, une tentative est lancée pour le reste des messages en suspens. S'il y a moins de 3 messages, la transaction sera effectuée après la tentative du dernier message.

  • Si la durée de nouvelle tentative (en heures) d'un type de message est affectée au transport par e-mail, la valeur de la colonne RETRIES n'est pas diminuée jusqu'à la fin de la durée de nouvelle tentative. Cette durée commence à la première tentative d'envoi du message.

Conditions d'exception

  • Si un paramètre n'est pas valide, le paramètre est ignoré.