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

Reply via email to