public class Worker implements MessageListener{
    public Worker() throws Exception{
        recvConnFactory = new ActiveMQConnectionFactory(
                queueConnString);
        recvQConn = recvConnFactory.createQueueConnection();
        recvQConn.start();
        recvSession = recvQConn.createQueueSession(false,
Session.CLIENT_ACKNOWLEDGE);
        Queue queue = recvSession.createQueue("queue");
        QueueReceiver receiver = recvSession.createReceiver(queue);
        receiver.setMessageListener(this);
    }
    @Override
    public void onMessage(Message message) {
        this.doWork(message);
    }
}

public class Main{
     public static void main(String[] args){
     Worker[] workers=new Worker[10];
     for(int i=0;i<workers.length;i++){
         workers[i]=new Worker();
     }
     //sleep and wait

}

Each woker has its own connection and session.
but it seems only one worker are running.
What's wrong with it?
need I wrapper Worker in a it's own thread?

Reply via email to