[ 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)