Propiedades predeterminadas de los mensajes

Actualización: noviembre 2007

Cuando cree una instancia del componente MessageQueue, podrá definir una serie de propiedades predeterminadas que se utilizarán en los mensajes que envíe el componente. Esto permite ahorrar a la hora de definir los mensajes y tener un control mayor sobre el método Send, sin necesidad de crear y configurar objetos Message.

Nota:

Sólo los mensajes que no se envían mediante el objeto Message utilizan los valores DefaultPropertiesToSend. Cuando envíe un mensaje mediante el objeto Message, se utilizarán las propiedades del objeto Message.

Para definir las propiedades predeterminadas de los mensajes, establezca los valores en la sección DefaultPropertiesToSend de la ventana Propiedades o especifique los valores de las propiedades en el objeto DefaultPropertiesToSend. Estas propiedades predeterminadas controlan funciones como las siguientes: si se generan mensajes de confirmación y dónde se envían, cómo se cifran y autentican los mensajes y el período de tiempo de espera de los mensajes.

En esta página se proporciona información general sobre cómo se pueden establecer algunas de las propiedades más importantes de esta área.

Prioridad de los mensajes

El establecimiento de una prioridad predeterminada para los mensajes afecta al orden en que se envían a sus colas de destino. Establezca la propiedad Priority para determinar la prioridad predeterminada de los mensajes que envía el componente. El valor predeterminado de la clasificación de prioridad es "normal", y existen configuraciones para prioridad superior e inferior.

La configuración de prioridad de un mensaje determina la posición del mensaje en la cola donde se coloca. Los mensajes enviados con una prioridad superior se colocan en una posición más alta dentro de la cola; los que tienen una prioridad inferior se colocan en una posición más baja. Cuando la cola recibe un conjunto de mensajes con una configuración de prioridad idéntica, se disponen en función de la hora en que se enviaron.

Nota:

No se puede establecer ninguna prioridad en los mensajes que se envían a colas transaccionales, ya que el orden en que se procesan en este tipo de colas está determinado por la propia transacción.

Propiedades de confirmación y respuesta

Hay varias propiedades predeterminadas que pueden establecerse para determinar si se van a generar respuestas y confirmaciones para los mensajes del componente, así como el modo en que se van a controlar estas respuestas. Entre las propiedades que pueden establecerse como predeterminadas para todas las operaciones de mensajería se incluyen:

  • Las propiedades AcknowledgeType y AdministrationQueue. Puede utilizar estas propiedades para determinar si deben crearse mensajes de confirmación cuando los mensajes lleguen a su cola de destino o cuando no consigan llegar, o cuando la aplicación de destino recupere los mensajes de la cola. Para obtener más información, vea Cómo: Solicitar la confirmación de mensajes.

  • La propiedad ResponseQueue, que puede utilizarse para indicar la ruta devuelta de los mensajes que enviará la aplicación que recupera los mensajes de la cola. Estos mensajes difieren de los mensajes de confirmación en que son generados por la aplicación de destino, no por el administrador de colas.

  • La propiedad UseJournalQueue, que puede utilizarse para determinar si las copias de los mensajes de salida deben almacenarse en una cola del diario. Del mismo modo, puede determinar si los mensajes que no se han podido entregar deberían enviarse a una cola de mensajes no entregados; para ello, defina la propiedad UseDeadLetterQueue.

Propiedades de tiempo de espera

Hay dos propiedades relacionadas con el tiempo que pueden utilizarse para facilitar y mejorar el control de los mensajes. Ambas determinan cuánto tiempo puede permanecer un mensaje en el sistema antes de ser desechado. Utilice la propiedad TimeToReachQueue para especificar durante cuánto tiempo debe intentar un mensaje alcanzar su cola de destino. Utilice la propiedad TimeToBeReceived para especificar cuánto tiempo debe permanecer el mensaje en el sistema, desde el momento en que se envía hasta el momento en que la aplicación de destino lo elimina de la cola. Si se supera el intervalo del temporizador, Message Queue Server desecha el mensaje.

Cuando un mensaje se desecha a causa del vencimiento de un temporizador, el administrador de colas puede ejecutar pasos adicionales:

  • Si ha establecido la propiedad UseDeadLetterQueue en true, se enviará una copia del mensaje descartado a la cola especificada de mensajes no entregados.

  • Si ha establecido la propiedad AcknowledgeType para que se envíen confirmaciones negativas, se enviará un mensaje de confirmación a la cola de administración especificada.

De forma predeterminada, no se establece intervalo de tiempo de espera para estas dos propiedades. Si establece un valor para ambas propiedades, tendrá prioridad el valor de la propiedad TimeToBeReceived.

Vea también

Tareas

Cómo: Crear instancias de componentes MessageQueue

Otros recursos

Enviar y serializar mensajes