示例#1
0
 public static Message topicSubscribe(TopicConnection cnn, String topicName, long timeout)
     throws JMSException {
   TopicSubscriber receiver = getTopicSubscriber(cnn, topicName);
   Message msg = receiver.receive(timeout);
   if (msg != null) msg.acknowledge();
   receiver.close();
   return msg;
 }
示例#2
0
  public static void drainTopic(TopicConnection cnn, String topic) throws Exception {
    TopicSession session = cnn.createTopicSession(false, Session.DUPS_OK_ACKNOWLEDGE);
    Topic t = session.createTopic(topic);

    TopicSubscriber subscriber = session.createSubscriber(t);
    Message msg = subscriber.receiveNoWait();
    while (msg != null) {
      try {
        msg.acknowledge();
      } catch (JMSException e) {

      }
      msg = subscriber.receiveNoWait();
    }
    subscriber.close();
    session.close();
  }