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/