2014-09-19 4 views
3

Я начал JMS уже неделю. Я создал JMS, используя Netbeans, maven и glassfish.JMS несколько долговечных подписчиков на одну тему

У меня есть один производитель и один прочный потребитель, и я хотел бы добавить еще один прочный потребителя к той же теме (не в очереди). Можно ли это сделать? , потому что я хочу, чтобы все потребители потребляли все сообщение, отправленное производителем независимо от того, находятся ли они в автономном режиме или нет.

Любые советы? Благодаря

public class DurableReceive { 

@Resource(lookup = "jms/myDurableConnectionFactory") 
private static ConnectionFactory connectionFactory; 

@Resource(lookup = "jms/myNewTopic") 
private static Topic topic; 

public static void main(String[] args) { 
    Destination dest = (Destination) topic; 
    JMSConsumer consumer; 
    boolean messageReceived = false; 
    String message; 
    System.out.println("Waiting for messages..."); 

    try (JMSContext context = connectionFactory.createContext();) { 
     consumer = context.createDurableConsumer(topic, "Subscriber1"); 
     while (!messageReceived) { 
      message = consumer.receiveBody(String.class); 
      if (message != null) { 
       System.out.print("Received the following message: " + message); 
       System.out.println("(Received date: " + new Date() + ")\n"); 
      } else { 
       messageReceived = true; 
      } 
     } 
    } catch (JMSRuntimeException e) { 
     System.err.println("@#$%RuntimeException occurred: " + e.toString()); 
     System.exit(1); 
    } 
} 

}

ответ

1

Вы можете установить различные clientID для различных долговременных потребителей. JMS-брокер использует комбинацию подпискиName и clientId для идентификации уникального клиента (поэтому, если ваш абонент имеет уникальный идентификатор клиента, он может получать собственные сообщения). Вы можете установить идентификатор клиента в свой JmsContext.

+0

Вы можете мне посовещаться? –

+0

Какие рамки вы используете для подключения к JMS-провайдеру? – dk14

+0

Я действительно не знаю, что такое каркас, но я думаю, его java jdk? –

Смежные вопросы