El servicio de mensajería web utiliza el protocolo Bayeux para la comunicación de publicación/suscripción. Sólo está soportada la opción de transporte de sondeo largo de Bayeux. Varios aspectos de la comunicación de Bayeux se configuran en un archivo de configuración de mensajería web. Estas opciones de configuración se enumeran a continuación.
En el protocolo Bayeux, un servidor no completa la petición HTTP hasta que los mensajes están disponibles. La opción de configuración longPollTimeout especifica cuánto tiempo mantiene abierta la petición el servidor antes de completar la petición. Cuando se completa la petición, se reconecta inmediatamente un cliente Bayeux al servidor a menos que se establezca el clientPollInterval. Tenga cuidado cuando se establezcan estos valores. Debe establecer el valor clientPollInterval en un valor razonable si el valor de longPollTimeout se establece en 0 para evitar la saturación de tráfico en el servidor con peticiones de conexión de Bayeux repetidas.
Nombre: | longPollTimeout |
---|---|
Necesario u opcional: | Opcional |
Tipo de datos: | Entero |
Valores permitidos: | Un valor especificado en segundos entre 0 y 300 |
Valor predeterminado: | 30 segundos |
Descripción: | Indica cuánto tiempo mantiene abierta la petición HTTP el servidor a la espera de mensajes. El sondeo largo, por definición, requiere que las peticiones se completen en un periodo de tiempo razonable. En general, los clientes se reconectan inmediatamente al cerrar la petición. |
El clientPollInterval especifica cuánto tiempo espera el cliente entre peticiones de conexión Bayeux. Si se establece clientPollInterval, se utiliza el mecanismo de aviso Bayeux para controlar con qué frecuencia se reconectan los clientes. Si se establece longPollTimeout en cero y clientPollInterval en un valor positivo, se utilizará el sondeo tradicional para conectarse al servidor. En función del tipo de aplicación que desarrolle, puede que sea preferible el uso del sondeo tradicional para conectarse al servidor. La configuración del sondeo tradicional permite una conectividad más fácil con el bus de integración de servicios para la entrega de mensajes.
Nombre: | clientPollInterval |
---|---|
Necesario u opcional: | Opcional |
Tipo de datos: | Entero |
Valores permitidos: | Un valor en segundos mayor o igual que 0. El valor debe ser menor que bayeuxSessionTimeout. |
Valor predeterminado: | 0 |
Descripción: | Dirige a los clientes a la reconexión en un intervalo concreto. Utiliza un mecanismo de aviso de intervalo de reconexión de Bayeux para controlar a los clientes sobre la frecuencia de reconexión. Esta conexión de cliente debe dar soporte al mecanismo de aviso de intervalo de reconexión de Bayeux para que esta función pueda funcionar correctamente. Los clientes también pueden conectarse con su propio intervalo. |
bayeuxSessionTimeout indica cuánto tiempo espera el servidor a que un cliente se reconecte antes de descartar la información de la sesión de cliente. El cliente invoca explícitamente la operación de desconexión de Bayeux, pero no existe ninguna garantía de que el cliente invoque la desconexión. El valor predeterminado de 90 segundos refleja el hecho de que las sesiones Bayeux deben tener una vida corta. Este valor debe establecerse suficientemente mayor que clientPollInterval para garantizar que los clientes puedan reconectarse satisfactoriamente y continuar recibiendo mensajes.
Nombre: | bayeuxSessionTimeout |
---|---|
Necesario u opcional: | Opcional |
Tipo de datos: | Entero |
Valores permitidos: | Un valor en segundos mayor que 10. |
Valor predeterminado: | 90 segundos |
Descripción: | Especifica cuánto tiempo espera el servidor a que un cliente se reconecte antes de descartar el conocimiento del cliente. Si un cliente se reconecta con el mismo ID de cliente una vez finalizada la sesión Bayeux, se utiliza el mecanismo de aviso de reconocimiento de comunicación repetido para iniciar una nueva sesión Bayeux. |
useDistributedSession se utiliza para compartir la información de sesión de mensajería web por todos los miembros de un clúster. Las operaciones de mensajería web podrán reanudarse en otro servidor, si la propiedad useDistributedSession se establece en true y la propiedad de configuración autoReinit o useDurable se establece en true.
Nombre: | useDistributedSession |
---|---|
Necesario u opcional: | Opcional |
Tipo de datos: | Boolean |
Valores permitidos: | true o false |
Valor predeterminado: | false |
Descripción: | Especifica que la información de sesión de mensajería web debe compartirse por todos los miembros de un clúster. Cuando un servidor sufre una sustitución por anomalía o la afinidad de sesiones falla, las operaciones de mensajería web se pueden reanudar en el nuevo servidor. Si la propiedad de configuración useDurable se establece en true y se utilizan sesiones distribuidas, las suscripciones se podrán reanudar en el nuevo servidor y se minimizará la pérdida de mensajes. Si la propiedad de configuración autoReinit se establece en true y se utilizan sesiones distribuidas, las suscripciones se volverán a inicializar aunque se podrá producir una pérdida de mensajes durante el tiempo que transcurre entre la pérdida de suscripción y la reinicialización de la suscripción. La información de sesión que comparten todos los miembros del clúster incluye la lista de temas suscritos, el identificador de sesión, las propiedades de sesión Bayeux y las propiedades del bus de integración de servicios. |