URL de SendTransactedMsg

Este URL envía todos los mensajes pendientes utilizando los servicios de envío SendTransacted.

Estructura de URL

http://host_name/path/
El nombre completo del servidor HCL Commerce y la vía de acceso de configuración

Estructura de URL SendTransactedMsg

Valores de parámetros

msgId
El número de ID que identifica de forma exclusiva el mensaje. Indica el mensaje que se envía cuando el mandato se invoca utilizando el valor de la columna MSGID de la tabla MSGSTORE. Especifique msgId o numOfMessages. Si se utiliza numOfMessages con el parámetro msgId, numOfMessages se ignora.
maxSeconds
Este parámetro especifica el número máximo de segundos durante el que debe ejecutarse una instancia de trabajo. Este valor no incluye el tiempo que se tarda esperando un bloqueo Update en la fila de la tabla SCHCONFIG. Este valor no cuenta el tiempo que se tarda esperando después de que se renueven los registros. Especifique un número positivo o cero para indicar que no existe ningún límite. El valor predeterminado es 90% del valor de intervalo de trabajo de planificador DynaCacheInvalidationCMD. Para ajustar el tiempo de espera después de que se renueven los registros, cambie el valor del parámetro waitSecondsAfterRefreshRegistry. Cuando la transacción alcanza el límite maxSeconds, el trabajo intenta hacer una pausa, dejando el resto del trabajo incompleto. El trabajo incompleto permanece hasta que el mismo trabajo se ejecuta de nuevo. Si el valor de esta columna es cero, se utiliza maxSeconds=0. Cambie el valor maxSeconds que está basado en el tiempo de espera excedido de la transacción de base de datos que se ha configurado y el valor SCCINTERVAL. El tiempo real que la transacción utiliza puede superar el número especificado.
numOfMessages
Opcional: Especifica el número de mensajes en la tabla MSGSTORE que se deben enviar. Solo se envían los mensajes que tiene un valor RETRIES superior a 0. Especifique numOfMessages o msgId.
batchSize
Opcional: Especifica el número máximo de mensajes a enviar en una transacción; el valor predeterminado es 1. Si no se puede enviar un mensaje del lote, se colocarán en cola todos los demás mensajes del lote para la siguiente ejecución de URL. Utilice este parámetro con el parámetro numOfMessages, o por sí solo.

Ejemplo 1

Este ejemplo muestra el envío de un máximo de 99 mensajes con un tamaño de lote de 3.

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

Ejemplo 2

Este ejemplo muestra el envío de un mensaje con el ID 123456.

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

Comportamiento

  • Cuando se ejecuta el URL, se llama al mandato de controlador SendTransactedMsgCmd para enviar mensajes que se colocan en la cola utilizando el servicio de envío sendTransacted().
  • El método performExecute() llama al método assembleMsg() para extraer los parámetros opcionales.
  • Los mensajes pendientes están en la tabla de base de datos MSGSTORE y se envían. Cada mensaje se envía en una transacción individual (cuando batchSize es 1). Si se detecta una excepción durante el envío de un mensaje, el valor de la columna MSGSTORE.RETRIES para el mensaje se disminuye en 1. El servicio intentará enviar el siguiente mensaje que se localiza. El mensaje que el servicio no ha podido enviar permanece almacenado y si el valor de la columna RETRIES es superior a 0, el servicio intentará enviar de nuevo el mensaje durante la siguiente ejecución de URL. Los mensajes con un valor de 0 en la columna RETRIES se dejan en la tabla y no se envían hasta que un administrador de sitio incrementa el valor en la columna RETRIES. De forma alternativa, el administrador puede eliminar el mensaje de la tabla.

    Si batchSize es mayor que uno, por ejemplo 3, intenta enviar 3 mensajes antes de completar una transacción. Una vez completada la transacción, se intentará con el resto de mensajes pendientes. Si hay menos de 3 mensajes, la transacción se completará una vez que se intente el último mensaje.

  • Si la duración de reintento (en horas) de un tipo de mensaje se asigna al transporte de asignado, el valor de la columna RETRIES no se reduce hasta que finalice la duración del reintento. Esta duración empieza con el primer intento de enviar el mensaje.

Condiciones de excepción

  • Si un parámetro no es válido, el parámetro se ignora.