I was able to capture a thread dump on the jvm on which consumers are
vanishing.
The threads are blocked on producer window, waitForSpace().


"Camel (CamelContext) thread #573 - JmsConsumer[RequestQueue]" daemon prio=6
tid=0x0000000011ded000 nid=0x156c in Object.wait() [0x000000005b69d000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at 
org.apache.activemq.usage.MemoryUsage.waitForSpace(MemoryUsage.java:67)
        - locked <0x00000006a0bfc058> (a java.lang.Object)
        at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:271)
        at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:212)
        at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:79)
        - locked <0x00000006a0bfbec8> (a
org.apache.activemq.ActiveMQMessageProducer)
        at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:67)
        at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:589)
        at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:569)
        at 
org.springframework.jms.core.JmsTemplate$4.doInJms(JmsTemplate.java:546)
        at 
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
        at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:543)
        at
org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:620)
        at
com.gehcit.haf.mu.messaging.impl.jms.JmsCalcJobMessageProducerImpl.sendMessage(JmsCalcJobMessageProducerImpl.java:125)
        at
com.gehcit.haf.mu.service.impl.MeasureCalculationServiceImpl.queueCqmCalcJobRequestMessage(MeasureCalculationServiceImpl.java:557)
        at
com.gehcit.haf.mu.service.impl.MeasureCalculationServiceImpl.calculateMeasureResultsMultiFromQueue(MeasureCalculationServiceImpl.java:312)
        at sun.reflect.GeneratedMethodAccessor508.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:341)
        at
org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:238)
        at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:166)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)
        at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:73)
        at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:101)
        at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:71)
        at
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
        at
org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:122)
        at
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298)
        at 
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:117)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
        at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
        at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334)
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)
        at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
        at
org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
        at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
        at
org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)
        at
org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)
        at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104)
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:326)
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:264)
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1071)
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1063)
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:960)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)


This wait never finishes, even if memory usage returns to normal. 




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/ActiveMQ-consumer-count-is-set-to-0-tp4675930p4702955.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to