[ 
https://issues.apache.org/activemq/browse/AMQ-962?page=comments#action_37139 ] 
            
Holger Bruch commented on AMQ-962:
----------------------------------

I encountered a similar problem when using the PooledConnectionFactory, which 
is currently intended for sending messages only. In my case, it was caused by a 
concurrency issue when the session is closed and messages are still processed 
by the consumer. The PooledSession does not halt the underlying session's 
executor, so that messages are still delivered when the session is about to 
close. These messages might in your case be read, but not acknowledged.


> Messages are read from queue but not removed
> --------------------------------------------
>
>                 Key: AMQ-962
>                 URL: https://issues.apache.org/activemq/browse/AMQ-962
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client, Broker
>    Affects Versions: 4.0.1
>         Environment: Java Virtual Machine: Java HotSpot(TM) Server VM version 
> 1.5.0_06-b05JIT 
> compiler:  HotSpot Server Compiler
> Operating System:  Windows XP 5.1
> Architecture: x86
> Number of processors:  1
> Total physical memory:   1,048,048 kbytes
> Free physical memory:     107,240 kbytes
> Committed virtual memory:     374,048 kbytes
> Total swap space:   2,518,944 kbytes
> Free swap space:     721,416 kbytes
>            Reporter: Randy
>            Priority: Critical
>             Fix For: 4.1
>
>
> Using Spring, configured a VM message broker (non-persistant) and a message 
> consumer that reads messages from queue.
> Messages are read from queue, but despite calling message.acknowledge(); 
> messages remain on the queue (and consume memory).
> I turned off optimiseAcknowledge.
> May be related to bug# AMQ-716.
>         <amq:broker id="broker" useJmx="true" persistent="false">
>           <amq:transportConnectors>
>             <amq:transportConnector uri="tcp://localhost:0" />
>           </amq:transportConnectors>
>         </amq:broker>
>        <!-- a pooling based JMS provider -->
>         <bean id="jmsFactory" 
> class="org.apache.activemq.pool.PooledConnectionFactory">
>           <property name="connectionFactory">
>             <bean class="org.apache.activemq.ActiveMQConnectionFactory">
>               <property name="brokerURL">
>                 <value>vm://localhost</value>
>               </property>
>               <property name="optimizeAcknowledge">
>                 <value>false</value>
>               </property>             
>             </bean>
>           </property>
>         </bean>
>         <bean id="simpleJmsTemplate" 
> class="org.springframework.jms.core.JmsTemplate">
>           <property name="connectionFactory">
>               <ref local="jmsFactory" />
>           </property>
>         </bean>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to