EJB3 Message Driven Bean con JMS: Request/Reply Pattern con JBoss – Parte II

Riprendiamo e concludiamo il filone dei Message Driven Bean (MDB) che avevamo iniziato in due post precedenti: in uno più teorico, avevamo descritto la struttra asincrona dei MDB che ricevono e inviano messaggi JMS, con riferimento a qualche pattern architetturale; nel secondo avevamo invece messo mano al codice, in particolare su come implementare il Request/Reply pattern basato sul Correlation ID. Come promesso, vediamo adesso cosa bisogna fare per implementare invece il pattern basato su Message ID. ...
Continue reading...

EJB3 Message Driven Bean con JMS: Request/Reply Pattern con JBoss – Parte I

In un post precedente abbiamo introdotto un po’ di teoria che sta dietro ai Message Driven Bean (MDB): è importante conoscere l’architettura su cui si basano questi strumenti perché è molto diversa dai componenti sincroni con cui siamo soliti lavorare (leggi Session Beans). La teoria è importante perché ci permette di capire cosa accade dietro le quinte (e soprattutto perché si scrive un certo codice), ma se non vediamo come si mette in pratica serve a ben poco!...
Continue reading...

EJB3 Message Driven Bean con JMS: Enterprise Patterns

La piattaforma Java Enterprise ci mette a disposizione innumerevoli strumenti che, almeno dalla versione 5, semplificano notevolmente la vita dello sviluppatore. Con estrema trasparenza è possibile gestire connessioni a database, transazioni distribuite, proteggere le risorse, pianificare task, eseguire richieste asincrone e altro ancora.

In tutte le guide introduttive su EJB3 che si trovano in rete si parla quasi esclusivamente di Session Beans di tipo Stateless e Stateful e si accenna a malapena all’esistenza dei Message Driven Bean (MDB), perché effettivamente non sembrano molto usati. A cosa serve un MDB? Spesso veniamo liquidati con risposte del tipo “serve a gestire chiamate asincrone al server”. Onestamente non mi sembra poco: è una risposta che apre mille scenari e che non ha fatto altro che incuriosirmi ancora di più! In questo post vedremo di approfondirne alcuni aspetti....
Continue reading...