[ https://issues.apache.org/jira/browse/CAMEL-16213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-16213. --------------------------------- Resolution: Fixed > camel-core - Exchange pooling > ----------------------------- > > Key: CAMEL-16213 > URL: https://issues.apache.org/jira/browse/CAMEL-16213 > Project: Camel > Issue Type: New Feature > Components: came-core > Reporter: Luca Burgazzoli > Assignee: Claus Ibsen > Priority: Major > Fix For: 3.9.0 > > > By default a brand new exchange is created for each message received by a > component and that's usually fine but for very simple routes, like those > created by the camel-kafka-connector or the Kantive Sources in camel-k it may > be useful to have an option to create pools of reusable exchanges as: > - exchanges are short living objects and routes are simple > - exchanges are heavy (multiple maps for properties and headers) > - camel-kafka-connector and knative sources are likely to receive the same > messages type, with the same set of headers so the maps allocated by the > exchange can safely be recycled to reduce allocations and resizing > In addition to the reason above, we can leverages exchange pooling to: > - implement back pressure driven by the resource constraints to be sure we > don't exceed resources consumption and we don't degrade the the service (i.e. > long GC pause) > - have a way to create tailored exchanges, i.e. by providing an exchange that > does not have in/out but just in > An example of fast and efficient ASL2 licensed object pooling: > https://github.com/chrisvest/stormpot -- This message was sent by Atlassian Jira (v8.3.4#803005)