Sottoscrizioni condivise

WebSphere® Application Server versione 9.0 supporta la condivisione di sottoscrizioni durevoli e non durevoli. La sottoscrizione condivisa, introdotta nella specifica JMS 2.0 , viene utilizzata per condividere una singola sottoscrizione tra più consumer, con solo uno dei consumer che riceve una pubblicazione in qualsiasi momento. Gli abbonamenti condivisi sono fondamentalmente utilizzati per la condivisione del carico tra più consumatori, e sono identificati dal nome e dall'identificativo client.

Per ulteriori informazioni sulle sottoscrizioni durevoli e non durevoli condivise, fare riferimento alle sezioni 8.3.2 e 8.3.4 nel documento di specifica JMS 2.0 .
Per gli utenti in transizione: la funzione di sottoscrizione durevole condivisa era disponibile nelle versioni precedenti di WebSphere Application Servere la funzione di sottoscrizione non durevole condivisa è stata introdotta in WebSphere Application Server versione 9.0.

Il seguente esempio mostra il campione di codice di creazione di un abbonamento non durevole condiviso e condiviso:

Creare un abbonamento durevole condiviso

ConnectionFactory connectionFactory;
Connection connection;
Session session;
MessageConsumer consumer;
Topic topic;
String sharedDurableSubName;
...
connection = connectionFactory.createConnection();


// Note: client ID is not mandatory for shared durable subscriptions
connection.setClientID("myClient"); 
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
topic = session.createTopic("sharedTopic");
consumer = ((ImaSubscription)session).createSharedDurableConsumer(topic, sharedDurableSubName);

Creare un abbonamento non durevole condiviso

ConnectionFactory connectionFactory;
Connection connection;
Session session;
MessageConsumer consumer;
Topic topic;
String sharedSubName;
...
connection = connectionFactory.createConnection();

connection.setClientID("myClient"); 
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
topic = session.createTopic("sharedTopic");
consumer = ((ImaSubscription)session).createSharedConsumer(topic, sharedSubName);
L'abbonamento durevole e condiviso può essere creato utilizzando i seguenti criteri di selezione:
consumer = session.createSharedConsumer(topic, sharedSubName, selector);
consumer = session.createSharedDurableConsumer(topic, sharedDurableSubName, selector);