Servicios de Mensajes con JMS
 

Ejercicios de Mensajes y Robustez en JMS

Todos los ejercicios se basan en el proyecto del Semáforo Hipotecario, y en los casos que sea posible, se trabajará sobre los proyectos de la sesión anterior.

Propiedades y Selectores (0.5p)

Queremos que nuestro semáforo sólo analice aquellas hipotecas que provengan de cajas de ahorro, ignorando a los bancos. Para ello, el productor de mensajes deberá añadir la propiedad BancoCaja con el valor Banco o Caja.

A su vez, el semáforo, mediante un selector de mensajes, obtendrá solo aquellos mensajes donde la propiedad BancoCaja = Banco.

Tu decides como implementarlo, ya sea añadiendo un nuevo argumento al método de envio con el tipo de entidad, o bien creando un nuevo método y que cada método defina la propiedad con el valor adecuado.

Pregunta
Y si el semáforo sólo aceptase las peticiones de los bancos BBVA y Banesto, ¿qué habría que hacer?

Datos del Préstamo en Objeto (0.75p)

Crear una clase DatosHipoteca (la cual debe ser Serializable) que contenga los datos de entrada al semáforo, de modo que el listener permita tratar tanto con mensajes de tipo TextMessage como ObjectMessage.

Para mejorar la legibilidad del código del listener, añade un método a BibliotecaBR para que desde el listener pueda obtener el color con una llamada a BibliotecaBR.getInstance().obtenerColorHipoteca(datos), siendo datos una instancia de DatosHipoteca.

Por cuestiones internas de Netbeans, no podemos crear un proyecto con esta clase y que la compartan tanto el banco como el semaforo. Por tanto, deberás duplicar dicha clase.

Caducidad de los Mensajes (0.75p)

Nos informan que los tipos de interes del semáforo van a cambiar cada día. Por ello, para no sobrecargar el sistema con peticiones obsoletas, queremos que el productor fije un tiempo máximo de modo que los mensajes caduquen si no se han consumido durante el día de envío del mensaje.

Browser del Semáforo (0.5p)

Crear un browser que permita visualizar los mensajes que el semáforo tiene pendiente. El nombre del proyecto será jms-browser-hipotecario.