Le service de messagerie Web utilise le protocole Bayeux pour la communication d'abonnement à la publication. Seule l'option Bayeux long-polling transport est prise en charge. Plusieurs aspects de la communication relative à Bayeux sont configurés dans un fichier de configuration de messagerie Web. Voici les détails de ces options de configuration.
Dans le protocole Bayeux, un serveur n'effectue la demande HTTP que lorsque les messages sont disponibles. L'option de configuration de longPollTimeout indique le temps alloué au serveur pour garder la demande ouverte, avant de la réaliser. Lorsque la demande est effectuée, un client de Bayeux ne peut rétablir immédiatement la connexion au serveur, qu'après avoir défini la valeur de clientPollInterval. Portez une attention particulière à la définition de ces valeurs. Si la valeur longPollTimeout est définie sur 0, vous devez définir la valeur clientPollInterval adéquate, afin d'éviter de surcharger le serveur par des demandes répétées de connexion au protocole Bayeux.
Nom : | longPollTimeout |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Entierr |
Valeurs admises : | Valeur définie en secondes entre 0 et 300 |
Valeur par défaut : | 30 secondes |
Description : | Indique le temps nécessaire au serveur pour garder les demandes HTTP ouvertes pendant l'attente de messages. Long-polling, par définition, nécessite des demandes devant être réalisées dans un délai imparti. En règle générale, les clients rétablissent immédiatement la connexion à la fermeture des demandes. |
clientPollInterval indique l'intervalle pendant lequel le client attend la demande de connexion au protocole Bayeux. Lorsque clientPollInterval est défini, le dispositif d'aide relatif à Bayeux est utilisé pour diriger les clients sur la fréquence de leur connexion. La définition de la valeur de longPollTimeout sur zéro et de celle de clientPollInterval à une valeur positive, indique qu'une interrogation traditionnelle va être utilisée pour se connecter au serveur. En fonction du type d'application que vous développez, l'interrogation traditionnelle peut s'avérer le meilleur moyen de se connecter au serveur. La configuration d'interrogation traditionnelle permet de se connecter facilement au bus d'intégration de services, pour l'envoi de message.
Nom : | clientPollInterval |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Entierr |
Valeurs admises : | Valeur en secondes supérieure ou égale à 0. La valeur doit être inférieure à bayeuxSessionTimeout. |
Valeur par défaut : | 0 |
Description : | Dirige les clients vers le rétablissement de la connexion dans un intervalle déterminé. Utilise le dispositif d'aide relatif à l'intervalle de reconnexion de Bayeux pour diriger les clients sur la fréquence de leur reconnexion. Afin que la connexion établie par le client fonctionne, elle doit prendre en charge le dispositif d'aide relatif à l'intervalle de reconnexion de Bayeux. Les clients doivent également se connecter à leur propre intervalle. |
bayeuxSessionTimeout indique le temps pendant lequel le serveur attend le rétablissement de la connexion par un client, avant de supprimer toutes informations relatives à la session de ce client. Le client fait explicitement appel à l'opération de déconnexion relative à Bayeux, mais cette déconnexion ne peut être garantie. La valeur par défaut définie à 90 secondes indique que les sessions de Bayeux ne subsistent que pendant une courte durée. Cette valeur doit être définie à un niveau plus élevé que clientPollInterval, pour permettre aux clients de se reconnecter avec réussite et de pouvoir continuer à recevoir des messages.
Nom : | bayeuxSessionTimeout |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Entierr |
Valeurs admises : | Valeur en secondes supérieure à 10. |
Valeur par défaut : | 90 secondes |
Description : | Indique le temps d'attente alloué au serveur pendant lequel le client rétablit la connexion, avant la suppression de la connaissance de ce client. Si après expiration de la session de Bayeux, un client rétablit une connexion avec le même ID client, le dispositif d'aide relatif à Bayeux rehandshake est utilisé pour lancer une nouvelle session de Bayeux. |
useDistributedSession sert à partager entre les membres d'un cluster les informations de la session de messagerie Web. Les opérations de messagerie Web pourront reprendre sur un autre serveur si la propriété useDistributedSession a la valeur true et si l'une des propriétés autoReinit ou useDurable a elle aussi la valeur true.
Nom : | useDistributedSession |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Booléen |
Valeurs admises : | true ou false |
Valeur par défaut : | false |
Description : | Spécifie que les informations de la session de messagerie Web doivent être partagées entre les membres d'un cluster. Du coup, en cas de défaillance de l'un des serveurs ou d'échec de l'affinité de session, les opérations de messagerie Web peuvent reprendre sur le nouveau serveur. Si la propriété de configuration useDurable a la valeur true et que l'on utilise des sessions distributed, les abonnements peuvent reprendre sur le nouveau serveur et le risque de perte de messages diminuera. Si la propriété de configuration autoReinit a la valeur true et que l'on utilise des sessions distributed, les abonnements seront réinitialisés mais il y a risque de perte de messages entre la perte de l'abonnement et sa réinitialisation. Les informations de session partagées entre les membres du cluster sont les suivantes : liste des rubriques d'abonnement, identifiant de session, propriétés de la session Bayeux et propriétés du bus d'intégration de services. |