package net.lr.karaf.jms.service; import java.util.Enumeration; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; public class JmsMessageIterator implements Enumeration<JmsMessage> { Session session; private Enumeration<Message> messageEnum; public JmsMessageIterator(Session session, Enumeration<Message> messageEnum) { this.session = session; this.messageEnum = messageEnum; } @Override public boolean hasMoreElements() { boolean more = this.messageEnum.hasMoreElements(); if (!more) { try { session.close(); } catch (JMSException e) { // Ignore } } return more; } @Override public JmsMessage nextElement() { Message message = this.messageEnum.nextElement(); return new JmsMessage(message); } }