/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.wordpress.salaboy.messaging; import java.util.logging.Level; import java.util.logging.Logger; import org.hornetq.api.core.HornetQException; /** * * @author esteban */ public class MessageConsumerWorker extends Thread{ private final MessageConsumer consumer; private final MessageConsumerWorkerHandler handler; private boolean stopExecution; public MessageConsumerWorker(String queueName, MessageConsumerWorkerHandler handler) { consumer = MessageFactory.createMessageConsumer(queueName); this.handler = handler; } public void stopWorker(){ try { this.stopExecution = true; consumer.stop(); } catch (HornetQException ex) { Logger.getLogger(MessageConsumerWorker.class.getName()).log(Level.SEVERE, null, ex); } } @Override public void run() { while (!stopExecution){ try { Object receivedMessage = consumer.receiveMessage(); this.handler.handlePrimitiveMessage(receivedMessage); } catch (HornetQException ex) { Logger.getLogger(MessageConsumerWorker.class.getName()).log(Level.SEVERE, null, ex); } } } }