You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Thomas Papke (JIRA)" <ji...@apache.org> on 2016/03/22 12:56:25 UTC
[jira] [Updated] (CAMEL-9738) Thread leak for camel-mina2 consumers
[ https://issues.apache.org/jira/browse/CAMEL-9738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Papke updated CAMEL-9738:
--------------------------------
Attachment: ConsumerDispose.patch
> Thread leak for camel-mina2 consumers
> -------------------------------------
>
> Key: CAMEL-9738
> URL: https://issues.apache.org/jira/browse/CAMEL-9738
> Project: Camel
> Issue Type: Bug
> Components: camel-mina2
> Affects Versions: 2.16.2
> Reporter: Thomas Papke
> Attachments: ConsumerDispose.patch
>
>
> The camel-mina2 consumer ({{org.apache.camel.component.mina2.Mina2Consumer.doStart()}}) internally start a Mina2 IoAcceptor ({{org.apache.mina.core.service.IoAcceptor}}), but the {{org.apache.camel.component.mina2.Mina2Consumer.doStop()}} do not invoke {{acceptor.dispose(true);}} to release the threadpool started by Mina2.
> *Current behavior:* While stopping the web application, the threadpool started by Mina2 IoAcceptor will not be stopped, so we have several thread which do not properly shutdown.
> *Current workaround:* I create custom CamelShutdownStrategy and collect all Mina2Consumer and invoke Mina2consumer.getAcceptor.dispose(true); OR as an alternative create a dedicated consumer and overwrite the stop method of the Mina2 consumer as seen here: https://github.com/oehf/ipf/commit/12fdde8df7ebbbb7cd9966aadeab3ea3bed8fe75
> *Suggested bugfix:* In {{org.apache.camel.component.mina2.Mina2Consumer.doStop()}} call the IoAcceptor dispose(true) method after unbind from the address.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)