We can look at optimizing this, as if a producer is singleton, then it can be reused.
The Enricher EIP uses an acquire/release pattern which is only needed for non singleton producers to be thread safe.
And the same for Poll Enricher (consumer cache) NO PROBLEM
And the destination endpoint can be optimized in case its static - then we dont need to evaluate a dynamic destination.
And the same for Poll Enricher