I am using ActiveMQ version 5.1.0 with JDK 1.5 "are you using transactions?"
I didn't really get your quesion. but after consuming each messages from activeMQ i am inserting it into oracle database table I am not acknowledging the messages and i have only one consumer. which continuously reada messages from the queue, on activeMQ console i can see Number Of Pending Messages around 4000 bellow is my startConsume method code, which will be called before the infinite loop. public void startConsume(String queueName,String queueConnectionFactory) { try { String sms_connect = Utility.getSMSConnectHome(); File jmsProp = new File((new StringBuilder(String.valueOf(sms_connect))).append(File.separator).append("config").append(File.separator).append("JMSConfig.properties").toString()); props.load(new FileInputStream(jmsProp)); JmsUtil.CONNECTION_FACTORY = queueConnectionFactory; JmsUtil.QUEUE_NAME = queueName; System.out.println("Queue Name : " + JmsUtil.QUEUE_NAME); connectionFactory = new ActiveMQConnectionFactory(JmsUtil.CONNECTION_FACTORY); connection = connectionFactory.createConnection(); connection.setExceptionListener(this); session = connection.createSession(false, javax.jms.Session.SESSION_TRANSACTED); destination = session.createQueue(JmsUtil.QUEUE_NAME); consumer = session.createConsumer(destination); connection.start(); } catch (IOException e) { try { write("startConsume", e.getMessage(), "DQM", 4); fe.write(e, "startConsume"); } catch (IOException ioe) { } } catch (JMSException e) { try { write("startConsume", e.getMessage(), "DQM", 4); fe.write(e, "startConsume"); } catch (IOException ioe) { } } } Bellow is my consumeFromActieMQ method. which will be called in loop public String consumeFromMessageQueue() { try { message = consumer.receive(100); textMessage = (TextMessage) message; text = textMessage.getText(); } catch (JMSException e) { try { write("consumeFromMessageQueue", "No message on ActiveMQ", "DQM", 2); write("consumeFromMessageQueue", e.getMessage(), "DQM", 4); fe.write(e, "consumeFromMessageQueue"); } catch (IOException ioe) { } } return text; } and bellow method i am calling when i stop the thread. that is aftr the end of loop. public void endConsume() { try { if (consumer != null) { consumer.close(); } if (session != null) { session.close(); } if (connection != null) { connection.close(); } } catch (JMSException e) { try { write("endConsume", e.getMessage(), "DQM", 4); fe.write(e, "endConsume"); } catch (IOException ioe) { } } } http://www.nabble.com/file/p19218230/JmsUtil.java JmsUtil.java my first method will be executed before starting reading the 10000 messages. second method will be executed in loop which is responsible for consuming messages. and the third method will be executed when i stop the thread. may be after 1 or 2 or 10 days.... James.Strachan wrote: > > 2008/8/29 Jigar Naik <[EMAIL PROTECTED]>: >> >> hi , >> >> my producer is producing 10000 messages on a queue (TestQueue). >> >> after my producer completes producing 10000 messages. I am starting my >> consumer for consumer 100000 messages. >> >> My consumer consumes around 6000 messages and than throws exception >> indicating no message on ActiveMQ >> >> what could be the possible reason for this ? >> >> I am stumbling with this issue since last 1 week but not able to solve >> it. > > Some tips about getting help... > http://activemq.apache.org/support.html > > e.g. what version are you using? are you using transactions? Do you > acknowledge the messages? Do you have any other consumers? > > -- > James > ------- > http://macstrac.blogspot.com/ > > Open Source Integration > http://open.iona.com > > -- View this message in context: http://www.nabble.com/Consumer-stops-consuming-messages-from-queue.-tp19217866p19218230.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.