Spring Integration Queue Channel

Nell’articolo precedente abbiamo visto il Datatype Channel, vediamo ora il Queue Channel. Per creare questo tipo di canale è necessario aggiungere un tag figlio <queue />: <int:channelid="queueChannel"> <queuecapacity="25"/> </int:channel> Attenzione, nel caso in cui non venga fornito un valore di capacità massima, si potrebbe incorrere in eccezioni di tipo OutOfMemoryErrors. Si noti che i messaggi ...

Spring Integration Datatype channel

Nell’articolo precedente abbiamo presentato i Messaging Template, i Message Channel ed il Direct Channel. Il Datatype Channel può essere utile nel caso in cui si abbia la necessità di processare solo un determinato tipo di payload, dunque di applicare una sorta di filtro. In realtà questo scopo può essere raggiuntu utilizzando diversi trucchetti, ma quello ...

Spring Integration Messaging Template

Sebbene Spring Integration fornisca degli strumenti atti a creare un ambiente non invasivo, talvolta è necessario invocare delle funzioni dal codice dell’applicazione. Per far fronte a questi casi, viene fornito un Messaging Template che supporta diverse operazioni, ad esempio è possibile inviare una richiesta ed aspettare una rispota. MessagingTemplate template = new MessagingTemplate(); Message reply ...

Spring Integration Channel Interceptors

Uno dei vantaggi di utilizzare Spring Integration ed in generale un’architettura a messaggi è la possibilità di catturare informazioni utili in modo non invasivo durante lo scambio dei messaggi. In particolare, i Message Channel permettono di intercettare le operazioni di send() e receive(). Tutto questo ci è fornito dall’interfaccia ChannelInterceptor: public interface ChannelInterceptor { Message<?> ...

Spring Integration Direct Channel ed Executor Channel

Abbiamo visto alcune implementazioni dei Channel fornite da Spring Integration. Vediamo adesso quellla di default, nonchè la più comune: il Direct Channel. Direct Channel Ha una semantica point-to-point ed implementa l’interfaccia Publish Subscribe Channel dunque invia i messaggi direttamente ad un sottoscrittore. Differisce dalla Publish Subscribe Channel anche in quanto invia ogni messaggio ad un ...

Spring Integration Message Channel: le Implementazioni

Spring Integration fornisce diverse implementazioni dell’interfaccia Message Channel, ne descrivo brevemente alcune. Publish Subscribe Channel Tutti i messagi inviati a questo tipo di canali vengono spediti in broadcast ai propri sottoscrittori. È molto utilizzata per l’invio di Messaggi di Eventi. Si noti che questo canale è utilizzabile solamente per la spedizione dei messaggi: i Consumer ...

Spring Integration Message Channel

L’interfaccia che descrive i Message Channel è molto semplice ed i suoi metodi auto esplicativi. Vedremo poi le diverse implementazioni fornite da Spring Integration che permettono ad esempio la creazioni di canali basati su code o punto a punto o con sottoscrittori, ecc. Ecco l’interfaccia Message Channel: public interface MessageChannel { boolean send(Message message); boolean ...

Spring Integration Message Endpoint

Spring Integration Message Endpoint
Il ruolo primario di un Message Endpoint di Spring Integration è quello di connettere il codice dell’applicazione al framework in modo non invasivo. In altre parole, il codice dell’applicazione non dovrebbe “essere consapevole” del messaggio o del canale: proprio come un controller del paradigma MVC intercetta le richieste http, un Endpoint intercetta i messaggi. Di ...

Spring Integration Message e Message Channel 1

Spring Integration Message e Message Channel
Un Message di Spring Integration è un wrapper di un oggetto Java combinato con una serie di metadati utilizzati dal framework per manipolare lo stesso oggetto. E’ composto da un payload e da un header. Il payload può contenere la qualunque mentre l’header contiene informazioni quali id, timestamp, indirizzo, ecc. L’ header può anche contenere ...

Spring Integration: un Primo Esempio

Spring Integration: un Primo Esempio
Immaginiamo di dover leggere dei file da un server FTP, effettuare alcune modifiche ed inviarli ad un Web Service REST. Uno dei concetti base di Spring Integration sono i channels: si tratta dei canali dentro ai quali i producer possono inserire dei dati che verranno poi letti dai consumer. Tornando al nostro esempio, sarà necessario ...