[ 
https://issues.apache.org/jira/browse/CAMEL-20806?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lars Storm (Systematic) updated CAMEL-20806:
--------------------------------------------
    Affects Version/s:     (was: 2.25.0)

> ProducerCache may reference producers from stopped endpoints
> ------------------------------------------------------------
>
>                 Key: CAMEL-20806
>                 URL: https://issues.apache.org/jira/browse/CAMEL-20806
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 4.4.1
>            Reporter: Lars Storm (Systematic)
>            Priority: Minor
>
> *Problem in short:*
> The DefaultProducerCache created from .toD(...) in a route may reference 
> producers created from endpoints that have been stopped.
> Specifically the endpoint may have been stopped from 
> camelContext.removeEndpoint(...)
> *Proposal:*
> ProducerCaches should be notified when an endpoint is stopped. The 
> ProducerCache may then find and evict the leaked producer.
> *Use case:*
> In some cases we create a n endpoint (e.g. CxfEndpoint) programmatically per 
> tenant (Multi-tenant setup) and store the endpoint in a non-Camel cache. The 
> endpoint is then passed on to a Camel route on request.
> The endpoint is then dynamically used in a .toD(...)
> However the local cache may decide to stop the endpoint due to changes 
> performed in tenant properties and create a new one. e.g. changing the 
> endpoint url or similar.
> In that case the TenantEndpointCache removes the current endpoint the camel 
> context and creates a new one which is added to the context.
> Example route code:
> {noformat}
> .setProperty("endpoint").method(TenantEndpointCache.class, "createEndpoint")
> .toD("${exchangeProperty.endpoint}"){noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to