Cómo proporcionar mensajería recuperable transaccional a través de WS-ReliableMessaging
Si la aplicación WS-ReliableMessaging se ejecuta dentro del contenedor web y utiliza una calidad de servicio gestionada, puede utilizar WS-ReliableMessaging para proporcionar mensajería recuperable transaccional.
Acerca de esta tarea
- En el lado del solicitante del servicio web, la transacción se realiza entre la aplicación y el almacén gestionado local.
- El protocolo WS-ReliableMessaging entrega el mensaje al lado del proveedor de servicios web, donde se utiliza una transacción diferente entre el segundo almacén gestionado y la aplicación que se está asignando.
Para el caso de la salida (solicitante) en un envío de mensaje unidireccional, si la propiedad enableTransactionalOneWay se ha establecido en true, se realiza el envío bajo cualquier contexto transaccional mantenido actualmente por la hebra de la aplicación. (Tenga en cuenta que las transacciones no están soportadas en un intercambio de mensajes de salida bidireccionales.)
Para el caso de la entrada (proveedor), si la propiedad inOrderDelivery se ha establecido en true, se asigna un mensaje de entrada a la aplicación bajo una transacción. Para un intercambio de mensajes de salida bidireccionales, la respuesta también se genera bajo la transacción y no se envía hasta que se haya confirmado la transacción.
- WS-AtomicTransactions y WS-ReliableMessaging se excluyen mutuamente cuando se utiliza WS-ReliableMessaging con un almacén gestionado para proporcionar mensajería recuperable de transacciones.
- Si se configura WS-ReliableMessaging para que utilice un almacén en memoria, hay casos en los que WS-AtomicTransaction puede fluir entre el origen de mensajería fiable y el destino de mensajería fiable para las invocaciones bidireccionales. En este caso, WS-ReliableMessaging sólo sirve de protección contra anomalías de red, no contra anomalías del servidor.
Para proporcionar mensajería recuperable transaccional a través de WS-ReliableMessaging, siga los pasos descritos en Adición de entrega garantizadas a servicios web mediante WS-ReliableMessaging y, además, complete los pasos adicionales siguientes:
Procedimiento
- Para habilitar la mensajería transaccional para los envíos de mensajes unidireccionales de salida (solicitante), cuando desarrolle la aplicación de servicio web JAX-WS, establezca la propiedad enableTransactionalOneWay en Boolean.TRUE (o el string true) en la correlación de contextos de solicitudes jaxWS.
- Para habilitar la mensajería transaccional para los intercambios de mensajes unidireccionales y bidireccionales de entrada (proveedor), cuando configure la política WS-ReliableMessaging, utilice la consola administrativa para seleccionar la opción Deliver messages in the order that they were sent (Entregar los mensajes en el orden en el que se enviaron), o bien utilice la herramienta wsadmin para establecer la propiedad inOrderDelivery en true.