Is this FAQ entry applicable? http://activemq.apache.org/i-do-not-receive-messages-in-my-second-consumer.html
2008/10/21 chenq <[EMAIL PROTECTED]>: > > I'm testing the activemq, and when I make my cosumers receive messages from > a queue in multi-threds , it only get half messages sent from producers. > would somebody can tell me why? > > > here is my source code: > > public class Recv extends Thread { > private static final String url = "tcp://localhost:61616"; > private static final String QUEUE_NAME = "TestQue"; > private static final String TOPIC_NAME = "TestTopic"; > public static int mode = 0; > > public void revceMessage() throws JMSException { > Connection connection = null; > TextMessage ms = null; > StringBuffer str = null; > int i = 0; > try { > ActiveMQConnectionFactory connectionFactory = new > ActiveMQConnectionFactory(url); > connection = connectionFactory.createConnection(); > connection.start(); > Session session = connection.createSession(false, > Session.AUTO_ACKNOWLEDGE); > Destination destination = null; > if(mode == 0) > destination = session.createQueue(QUEUE_NAME); > else > destination = session.createTopic(TOPIC_NAME); > MessageConsumer consu = session.createConsumer(destination, > null); > while (true) { > ms = (TextMessage) consu.receive(); > i++; > if (ms == null) { > break; > } > str = new StringBuffer(); > str.append("thread:"); > str.append(this.getId()); > str.append(",receive:"); > str.append(i); > System.out.println(str); > str = null; > } > > } > catch (Exception e) { > e.printStackTrace(); > } finally { > if (connection != null) { > connection.close(); > } > } > } > > public void run() { > try { > this.revceMessage(); > } catch (JMSException e) { > e.printStackTrace(); > } > } > > public static void main(String[] args) { > Recv s = null; > if ((args.length >0) && (!args[0].trim().equals("0"))) > mode = 1; > System.out.println("mode is: " + mode + ", url:" + url); > for(int i=0;i<2;i++) { > s = new Recv(); > s.start(); > } > } > } > > > -- > View this message in context: > http://www.nabble.com/why-queue-consumer-threads-only-get-half-messages---tp20088895p20088895.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- James ------- http://macstrac.blogspot.com/ Open Source Integration http://fusesource.com/