activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jigar Naik <jigarn...@interactcrm.com>
Subject Re: Consumer stops consuming messages from queue.
Date Fri, 29 Aug 2008 11:35:40 GMT

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 <jigarnaik@interactcrm.com>:
>>
>> 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.


Mime
View raw message