Exemplo n.º 1
0
  private void sendMessages() throws Exception {
    Iterator<Message> iter = messages.iterator();

    Message msg = null;

    while (iter.hasNext()) {
      msg = iter.next();

      if (addMessageIDInHeader) {
        addMessageIDInHeader(msg);
      }

      if (JMSBridgeImpl.trace) {
        HornetQJMSServerLogger.LOGGER.trace("Sending message " + msg);
      }

      // Make sure the correct time to live gets propagated

      long timeToLive = msg.getJMSExpiration();

      if (timeToLive != 0) {
        timeToLive -= System.currentTimeMillis();

        if (timeToLive <= 0) {
          timeToLive =
              1; // Should have already expired - set to 1 so it expires when it is consumed or
          // delivered
        }
      }

      targetProducer.send(
          targetDestination, msg, msg.getJMSDeliveryMode(), msg.getJMSPriority(), timeToLive);

      if (JMSBridgeImpl.trace) {
        HornetQJMSServerLogger.LOGGER.trace("Sent message " + msg);
      }
    }
  }