El servicio de mensajería web lee información de configuración del archivo webmsg.json que se encuentra en un directorio WebContent/WEB-INF del módulo Web de la aplicación Java EE (JavaTM Platform, Enterprise Edition). Esta información se lee al iniciar y detener la aplicación para inicializar el servicio de mensajería web con información de configuración. El archivo reside junto al archivo web.xml en un módulo Web y la ubicación de este archivo no puede modificarse. El formato del archivo webmsg.json es un formato JSON (JavaScriptTM Object Notation); específicamente el contenido del archivo debe representar un objeto JSON. Un objeto JSON es una colección de pares de clave/valor. Consulte el siguiente ejemplo del archivo de configuración de mensajería web:
{ "WebMsgServlet": { "busName": "thebus", "destination": "Default.Topic.Space", "clientCanPublish": false, "longPollTimeout": 30 } } |
Cada clave en el objeto JSON especifica un nombre de servlet existente en el mismo módulo Web donde se especifica el archivo webmsg.json. El valor de cada clave es otro objeto JSON donde se especifican las opciones de configuración de mensajería web. Las peticiones de mensajería web entrantes vienen determinadas por las correlaciones de servlet del servlet especificado. Estas peticiones entrantes se procesan con las opciones de configuración especificadas. El siguiente ejemplo es un snippet de un archivo web.xml que contiene el servlet WebMsgServlet y las correlaciones de servlet asociadas:
<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> |
En el ejemplo anterior, el servlet WebMsgServlet se correlaciona con /stockServlet. Las peticiones de mensajería web entrantes que se correlacionan con /stockServlet se procesan con los parámetros de configuración en el ejemplo anterior de webmsg.json. En este caso, las peticiones de mensajería web utilizan el bus de integración de servicios thebus y el espacio de temas predeterminado Default.Topic.Space; el tiempo de espera de sondeo largo de Bayeux es 30 y los clientes de mensajería web no pueden publicar mensajes en el servidor.
La mayoría de configuraciones sólo deben crear un servlet y la entrada de configuración webmsg.json relacionada. Hay veces en las que deben crearse varias definiciones en un módulo Web individual. Por ejemplo, cuando se conecta a distintos buses de integración de servicios, cuando se especifica un destino predeterminado diferente o cuando se separan los clientes por el tiempo de espera de sondeo largo de Bayeux. Para separar las peticiones entrantes basándose en parámetros de configuración, deben crearse una nueva definición de servlet correlacionada con com.ibm.websphere.webmsg.servlet.WebMsgServlet y una nueva correlación de servlets. Por último, cree una nueva entrada en webmsg.json con los parámetros de configuración deseados. Esta entrada debe tener una clave que se correlacione con el servlet que acaba de crear.
En las siguientes subsecciones se describen con más detalle todas las posibles opciones de configuración de mensajería web.