activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: Consumer stops consuming messages from queue.
Date Fri, 29 Aug 2008 12:11:37 GMT
The issue is arising because you are consuming messages but never
acknowledging them (because you never commit your transaction).

See
http://activemq.apache.org/what-is-the-prefetch-limit-for.html

2008/8/29 Jigar Naik <jigarnaik@interactcrm.com>:
>
>
>
> Yeah true.... i will be using auto_ack now onwards,
>
> one more thing...Is the issue arising because of following pattern of method
> calls... ???
>
>       util.startConsume(queueName,connectionFactory);
> //startConsume(); will be called only in the beginning of the Thread's life.
> startConsume() contains the line connection.start();
>
> for(int i=0;i<this.numberOfMessageToConsume;i++){
> //This will be in endless loop
>        xmlText                                                 = util.consumeFromMessageQueue();
>       ... store message to oracle database....
>
> }
> //endConsumer() will be executed once in the Thread's life..
> util.endConsume(...);
>
>
> James.Strachan wrote:
>>
>> Have raised a JIRA to fail faster to avoid others hitting this one
>> https://issues.apache.org/activemq/browse/AMQ-1919
>>
>> but basically if you use a transacted session, you have to commit() at
>> some point :)
>>
>> 2008/8/29 James Strachan <james.strachan@gmail.com>:
>>> 2008/8/29 Jigar Naik <jigarnaik@interactcrm.com>:
>>>>
>>>> I am using ActiveMQ version 5.1.0 with JDK 1.5
>>>>
>>>> "are you using transactions?"
>>>>
>>>> I didn't really get your quesion.
>>>
>>> Are you using JMS transactions to consume
>>>
>>>>  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);
>>>
>>> This is an error. We should probably throw an exception here.
>>>
>>> You are saying you want to use transacted session ack mode, but not
>>> using the true parameter to indicate transacted consumption.
>>>
>>> Since you're not using session.commit() or message.acknowledge() to
>>> acknowledge messages - I'd recommend using Session.AUTO_ACK
>>>
>>> --
>>> James
>>> -------
>>> http://macstrac.blogspot.com/
>>>
>>> Open Source Integration
>>> http://open.iona.com
>>>
>>
>>
>>
>> --
>> 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.-tp19217866p19218647.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>



-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://open.iona.com

Mime
View raw message