Le service de messagerie Web lit des informations sur la configuration à partir du fichier webmsg.json, localisé dans le répertoire WebContent/WEB-INF du module Web de l'application J2EE (JavaTM Platform, Enterprise Edition). Ces informations sont lues au démarrage de l'application et s'arrêtent pour initialiser le service de messagerie Web avec les informations de configuration. Ce fichier se trouve dans le fichier web.xml d'un module Web et l'emplacement de ce fichier ne peut être modifié. Le fichier webmsg.json est spécifié au format JSON (JavaScript Object Notation). Plus précisément, le contenu du fichier doit représenter un objet JSON (JavaScriptTM Object Notation). Un objet JSON représente un ensemble de paires clé-valeur. Observez les exemples suivants sur le fichier de configuration de messagerie Web :
{ "WebMsgServlet": { "busName": "thebus", "destination": "Default.Topic.Space", "clientCanPublish": false, "longPollTimeout": 30 } } |
Chaque clé incluse dans l'objet JSON spécifie le nom d'un servlet dans le même module Web où le fichier webmsg.json est spécifié. La valeur de chaque clé correspond à un autre objet JSON où les options de configuration de messagerie Web sont spécifiées. Les demandes de messagerie Web entrantes sont déterminées par les mappages de servlet pour le servlet spécifié. Ces demandes entrantes sont traitées avec les options de configuration spécifiées. L'exemple suivant illustre le fragment d'un fichier web.xml contenant le servlet WebMsgServlet et les mappages de servlet associés :
<servlet> <display-name>WebMsgServlet</display-name> <servlet-name>WebMsgServlet</servlet-name> <servlet-class> com.ibm.websphere.webmsg.servlet.WebMsgServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>WebMsgServlet</servlet-name> <url-pattern>/stockServlet</url-pattern> </servlet-mapping> |
Dans l'exemple précédent, le servlet WebMsgServlet est mappé vers /stockServlet. Toute demande de messagerie Web entrante qui mappe vers /stockServlet est traitée avec les paramètres de configuration dans l'exemple de fichier webmsg.json précédent. Dans ce cas, les demandes de messagerie Web utilisent un bus d'intégration de services ; thebus, l'espace de rubrique par défaut Default.Topic.Space, le délai d'expiration d'une interrogation persistante Bayeux est de 30 et les clients de messagerie Web ne peuvent publier des messages au serveur.
La plupart des configurations doivent seulement créer un servlet et une entrée de configuration webmsg.json. Plusieurs définitions doivent parfois être créées dans un seul module Web. Les exemples comprennent la connexion à différents bus d'intégration de services, en spécifiant une autre destination par défaut ou en séparant des clients par le délai d'expiration de l'interrogation persistante Bayeux. Pour séparer des demandes basées sur des paramètres de configuration, la nouvelle définition d'un servlet mappée vers com.ibm.websphere.webmsg.servlet.WebMsgServlet et un nouveau mappage de servlet doivent être créés. Enfin, créez une nouvelle entrée dans le fichier webmsg.json avec les paramètres de configuration souhaités. Cette entrée doit posséder une clé qui mappe vers le servlet nouvellement créé.
Les sous-sections suivantes décrivent en détail toutes les options de configuration de messagerie Web possibles.