[ 
https://issues.apache.org/jira/browse/AMQ-6108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15098910#comment-15098910
 ] 

Timothy Bish commented on AMQ-6108:
-----------------------------------

Since the SelectorManager instance is shared amongst every Transport instance 
created when using the NIOTransport types it doesn't make any sense to shutdown 
the executor when any one instance is stopped, or when any one 
TransportConnector instance is stopped as that defeats the purpose of the NIO 
bits sharing resources.  The Threads in the executor should be set deamon 
though in order to prevent them keeping a JVM running.  

> SelectorManager Executor is not shutdown when transport os stopped.
> -------------------------------------------------------------------
>
>                 Key: AMQ-6108
>                 URL: https://issues.apache.org/jira/browse/AMQ-6108
>             Project: ActiveMQ
>          Issue Type: Bug
>            Reporter: Andy Gumbrecht
>             Fix For: 5.13.1
>
>         Attachments: SelectorManager.Shutdown.patch
>
>
> SelectorManager creates an Executor that is not shut down on termination of 
> the Transport.
> The Executor currently uses non-daemon threads and is is not guaranteed the 
> the SelectorWorker thread exit condition is ever met.
> This causes the shutdown to hang when using transports that utilise the 
> SelectorManager, such as nio+ssl for example.
> The proposed patch shuts down the ExecutorService on/after Transport 
> shutdown. The SelectorWorkers also check for this as an exit condition.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to