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?
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?