Las consecuencias de modificar suscripciones duraderas
Cuando una aplicación se conecta a una suscripción duradera existente, pero especifica parámetros distintos a los que se han utilizado para crear la suscripción existente, la suscripción se suprime y se vuelve a crear con parámetros nuevos. Una suscripción duradera sólo puede modificarse de esta manera si no tiene consumidores activos.
En el caso básico, sólo hay un consumidor activo cada vez, de modo que la aplicación puede cambiar la suscripción duradera sin afectar a otros suscriptores. Sin embargo, la situación es más compleja en el caso de suscripciones clonadas.
Una suscripción duradera clonada
tiene varios suscriptores activos, que son normalmente clones de una aplicación
determinada.
- Para aplicaciones MDB (beans controlados por mensajes), los suscriptores están siempre activos en la suscripción, de modo que el administrador debe detener todas las instancias de la aplicación MDB antes de poder alterar la suscripción. (Si las instancias de la aplicación MDB se reciclan de una en una, se rechazará cada instancia individual al intentar conectarse mediante las propiedades cambiadas, debido a la existencia de consumidores.)
- Para aplicaciones EJB clonadas, los administradores deben detener todas las instancias de la aplicación EJB para poder cambiar la suscripción, para evitar el problema siguiente. Enterprise beans tienen suscriptores activos para una suscripción duradera durante espacios de tiempo relativamente breves. Si las instancias de la aplicación EJB se reciclan individualmente, hay un período en el que las diferentes instancias de la aplicación tienen vistas distintas de la configuración de suscripción. Esto hace que la suscripción se suprima y se vuelva a crear, lo que puede producir la pérdida de mensajes. Las suscripciones se pueden suprimir y volver a crear varias veces hasta que la nueva definición sea constante en todas las instancias.
Nota: El archivo nombre_servidor-durableSubscriptions.ser del directorio WAS_HOME/temp es utilizado por el servicio de mensajería para realizar el seguimiento de las suscripciones duraderas para los beans controlados por mensaje. Si desinstala una aplicación que contiene un bean controlado por mensaje, este archivo se utiliza para eliminar la suscripción duradera. Si tiene que suprimir el directorio WAS_HOME/temp u otros archivos incluidos, asegúrese de que conserva este archivo.