Soporte de regulación del flujo de mensajes de entrada para beans controlados por mensajes JCA 1.5
En este tema se describe cómo configurar el soporte de throttle para la entrega de mensajes de beans controlados por mensajes (MDB) que se despliegan como puntos finales de mensaje para los adaptadores de recursos de entrada JCA (Java™ EE (Java Platform, Enterprise Edition) Connector Architecture) Versión 1.5.
Antes de empezar
- El proveedor de mensajería predeterminado.
- El proveedor de mensajería de IBM MQ.
Para el proveedor de mensajería predeterminado, configure la regulación de mensajes como se describe en las tareas relacionadas. Para el proveedor de mensajería de IBM MQ, configure la regulación de mensajes mediante el establecimiento de la propiedad Número máximo de sesiones de servidor en el panel de especificaciones de activación del proveedor de mensajería de IBM MQ o la propiedad maxPoolSize si utiliza los mandatos createWMQActivationSpec o modifyWMQActivationSpec de wsadmin.
Si tiene un proveedor de mensajería JMS compatible con JCA 1.5 de terceros, consulte a su proveedor para ver si el método de regulación de mensajes descrito en este tema es adecuado para su proveedor de mensajería.
Acerca de esta tarea
En las instalaciones que utilizan adaptadores de recursos que implementan el soporte de entrega de mensajes JCA (Java EE Connector Architecture) Versión 1.5, WebSphere Application Server proporciona el soporte de throttle de mensajes para controlar la entrega de mensajes a los beans controlados por mensajes (MDB) de punto final. Puede utilizar este soporte para evitar que se sobrecargue el servidor debido a la llegada masiva de mensajes de entrada.
El soporte de regulación de entrega de mensajes se efectúa en base a cada bean controlado por mensajes limitando el número máximo de instancias de punto final que puede crear el adaptador al que está enlazado MDB. Cuando el adaptador intenta crear una instancia de punto final, se crea un proxy para la instancia MDB y se devuelve como permitido por la arquitectura JCA 1.5. Hay una correspondencia de uno a uno entre los proxies y las instancias de MDB y, al igual que en las instancias de MDB, los proxies se agrupan en base a los valores máximo y mínimo del tamaño de la agrupación asociados al bean controlado por mensajes. El soporte de regulación se ejecuta a través de la gestión de la agrupación de proxies.
En el momento que el adaptador intenta crear un punto final, si el número de proxies de punto final creados es igual al tamaño máximo de la agrupación, el proceso del adaptador createEndPoint devuelve una Excepción de tipo Unavailable . Cuando sucede esto, el adaptador no emite más solicitudes createEndPoint() hasta que se haya liberado como mínimo un punto final y se haya devuelto al servidor para que pueda volver a utilizarlo. De este modo, las instalaciones pueden controlar la regulación de la entrega de mensajes en un MDB de JCA 1.5 basándose en el valor del tamaño máximo de la agrupación asociada a cada bean controlado por mensajes JCA 1.5.
Puede especificar el tamaño de la agrupación mediante la propiedad del sistema JVM com.ibm.websphere.ejbcontainer.poolsize para definir el tamaño mínimo y máximo de la agrupación de beans de entidad y beans controlados por mensajes sin estado. En el caso de un bean controlado por mensajes que dé soporte a JCA 1.5, el valor máximo del tamaño de la agrupación especificado limita el número de instancias de punto final de mensajes que se pueden crear para dicho bean controlado por mensajes. Por ejemplo, si la instalación establece el tamaño máximo de una agrupación MDB de JCA 1.5 en 5, entonces como máximo se pueden entregar simultáneamente 5 mensajes a 5 instancias del bean controlado por mensajes. Esta propiedad se puede especificar utilizando la herramienta de scripts wsadmin o indicándola con la consola administrativa como una variable de entorno.
Procedimiento
- Abra la consola administrativa.
- Seleccione Servidores > Tipos de servidores > Servidores de aplicaciones de WebSphere > server_name.
- Bajo Infraestructura de servidor, expanda Gestión de Java y de procesos >Definición de procesos.
Seleccione Sirviente.
- En Propiedades adicionales, seleccione Máquina virtual Java.
- En Propiedades adicionales, seleccione Propiedades personalizadas.
- Seleccione Nuevo. Aparecerá un panel con tres campos de Propiedades generales. Aquí es donde establece la propiedad.
- En el campo Nombre, introduzca com.ibm.websphere.ejbcontainer.poolsize.
- Para completar el campo Valor, consulte Propiedades de sistema del contenedor de EJB.
- Después de definir el valor de la propiedad, pulse Aceptar. Ahora se le solicitará que guarde los cambios que ha realizado.
- Pulse Guardar.