I've opened a JIRA here: https://issues.apache.org/jira/browse/AMQ-4586
The workaround for your case is to use the failover transport and you won't see the executor threads leaked. On Mon, Jun 17, 2013 at 11:23 AM, Christian Posta <christian.po...@gmail.com > wrote: > Yah, I can verify this is the case. Threads leak because the > threadpoolexecutor doesn't evict the threads. Checking for the best > solution to this. > > > On Sun, Jun 16, 2013 at 4:07 AM, lzr <jsw...@163.com> wrote: > >> Dear all, >> >> >> I found a thread leak issue during try activemq 5.6: >> I create connection when sending message and close it once the sending >> finished. >> Occassionally I restart activemq broker and found one thread generated >> with name "ActiveMQ Connection Executor...". >> For deep research, I restarted the broker several times and same number >> thread generated; I attached the picture of my debug. >> Could anybody give me some clues? I just want to know if this is a bug >> for ActiveMQ. The attachments includes my applications and the debugging >> pictures. >> >> >> It would be much appreciated if you make any suggestion!!! >> >> >> Thanks in advance, >> Zhuran Li >> >> >> >> >> >> >> >> >> At 2013-06-14 23:03:55,"Christian Posta" <christian.po...@gmail.com> >> wrote: >> >Would need to be able to re-create this... Please put together a unit >> test >> >that reproduces this. >> > >> > >> >On Fri, Jun 14, 2013 at 1:00 AM, lzr <jsw...@163.com> wrote: >> > >> >> Dear all, >> >> >> >> >> >> I'm using Acitvemq 5.6 with my app and struggling to handle the >> following >> >> Exception: >> >> 2013-06-13 09:53:46,018 | WARN | Send failed for: >> ActiveMQObjectMessage >> >> {commandId = 6, responseRequired = false, messageId = >> >> ID:nfsnnc02-46547-1370842535042-0:547519:1:1:1, originalDestination = >> null, >> >> originalTransactionId = null, producerId = >> >> ID:nfsnnc02-46547-1370842535042-0:547519:1:1, destination = >> >> queue://10408_base, transactionId = >> >> TX:ID:nfsnnc02-46547-1370842535042-0:547519:1, expiration = 0, >> timestamp = >> >> 1371088670829, arrival = 0, brokerInTime = 1371088426003, >> brokerOutTime = >> >> 0, correlationId = null, replyTo = null, persistent = true, type = >> null, >> >> priority = 4, groupID = null, groupSequence = 0, targetConsumerId = >> null, >> >> compressed = false, userID = null, content = >> >> org.apache.activemq.util.ByteSequence@c4b67b, marshalledProperties = >> >> org.apache.activemq.util.ByteSequence@a84ac2, dataStructure = null, >> >> redeliveryCounter = 0, size = 0, properties = {createtime=2013-06-13 >> >> 09:57:50, datasize=1, syncflag=bd_defdoc}, readOnlyProperties = false, >> >> readOnlyBody = false, droppable = fals >> >> e}, missing producer state for: >> >> org.apache.activemq.broker.ProducerBrokerExchange@c44470 | >> >> org.apache.activemq.broker.region.Queue | ActiveMQ Transport: tcp:/// >> >> 10.1.100.66:64118 >> >> 2013-06-13 09:53:46,018 | WARN | Async error occurred: >> >> javax.jms.JMSException: Cannot send message to queue://10408_base with >> >> invalid (null) producer state | >> >> org.apache.activemq.broker.TransportConnection.Service | ActiveMQ >> >> Transport: tcp:///10.1.100.66:64118 >> >> javax.jms.JMSException: Cannot send message to queue://10408_base with >> >> invalid (null) producer state >> >> at org.apache.activemq.broker.region.Queue.send(Queue.java:589) >> >> at >> >> >> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:407) >> >> at >> >> >> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:503) >> >> at >> >> >> org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:305) >> >> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129) >> >> at >> >> >> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96) >> >> at >> >> >> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306) >> >> at >> >> >> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135) >> >> at >> >> >> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:453) >> >> at >> >> >> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681) >> >> at >> >> >> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) >> >> at >> >> >> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:150) >> >> at >> >> >> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) >> >> at >> >> >> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) >> >> at >> >> >> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:229) >> >> at >> >> >> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) >> >> at >> >> >> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222) >> >> at >> >> >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204) >> >> at java.lang.Thread.run(Thread.java:619) >> >> >> >> >> >> Could anybody give me some clue? It would be much appreciated if any >> >> questions. >> >> >> >> >> >> Thanks a lot, >> >> Zhuran Li >> > >> > >> > >> > >> >-- >> >*Christian Posta* >> >http://www.christianposta.com/blog >> >twitter: @christianposta >> > > > > -- > *Christian Posta* > http://www.christianposta.com/blog > twitter: @christianposta > -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta