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); } } }