Return-Path: Delivered-To: apmail-activemq-users-archive@www.apache.org Received: (qmail 34266 invoked from network); 29 Aug 2008 11:36:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 29 Aug 2008 11:36:14 -0000 Received: (qmail 97507 invoked by uid 500); 29 Aug 2008 11:36:11 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 97481 invoked by uid 500); 29 Aug 2008 11:36:11 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 97470 invoked by uid 99); 29 Aug 2008 11:36:11 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Aug 2008 04:36:11 -0700 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=DNS_FROM_OPENWHOIS,SPF_HELO_PASS,SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Aug 2008 11:35:11 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1KZ2GS-0004Il-Sy for users@activemq.apache.org; Fri, 29 Aug 2008 04:35:40 -0700 Message-ID: <19218230.post@talk.nabble.com> Date: Fri, 29 Aug 2008 04:35:40 -0700 (PDT) From: Jigar Naik To: users@activemq.apache.org Subject: Re: Consumer stops consuming messages from queue. In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: jigarnaik@interactcrm.com References: <19217866.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org 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 : >> >> 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.