@Override public void run() { try { while (running) { String result = consume(); if (result != null) { send(result); rate.increment(); } else if (running) { LOG.error(name + " Failed to consume!"); } } } catch (Throwable e) { e.printStackTrace(); } }
public synchronized void start() throws JMSException { if (!running) { rate.reset(); running = true; if (!connectionPerMessage) { connection = factory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); consumer = session.createConsumer(getConsumeDestination()); producer = session.createProducer(getSendDestination()); producer.setDeliveryMode(this.deliveryMode); } Thread t = new Thread(this); t.setName(name); t.start(); } }