Abonnements partagés
WebSphere Application Server version 9.0 prend en charge le partage des abonnements durables et non durables. L'abonnement partagé, introduit dans les spécifications JMS 2.0, est utilisé pour partager un abonnement unique entre plusieurs ordinateurs, un seul des consommateurs recevant un abonnement à la fois. Les abonnements partagés sont généralement utilisés pour le partage de charge entre plusieurs consommateurs et sont identifiés par le nom et l'identificateur de client.
Pour plus d'informations sur les abonnements durables et non durables partagés,
reportez-vous aux section 8.3.2 et 8.3.4 du document sur les spécifications JMS 2.0.
Remarque : La fonction d'abonnement durable partagé était disponible dans les versions antérieures
de WebSphere
Application Server, et la fonction d'abonnement non durable partagé
a été introduite dans WebSphere
Application Server version 9.0.
L'exemple suivant montre un exemple de code et la création d'un abonnement durable partagé et d'un abonnement non durable partagé.
Création d'un abonnement durable partagé
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);
Création d'un abonnement non durable partagé
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);
Remarque : Les abonnements durable et non durable partagés peuvent être créés
à l'aide des critères de sélection suivants :
consumer = session.createSharedConsumer(topic, sharedSubName, selector);
consumer = session.createSharedDurableConsumer(topic, sharedDurableSubName, selector);