Description
Hello,
I found something which seems unexpected with the enrich processor and Camel 3.6.0.
If you consider those 2 routes:
from(timer("foo")) .setBody(constant("1")) .enrich("seda://test-${body}"); from(timer("bar")) .setBody(constant("2")) .enrich(seda("test-${body}"));
In the log, it says:
[mel-1) thread #6 - timer://bar] SedaEndpoint INFO Endpoint seda://test-2 is using shared queue: seda://test-2 with size: 1000 [mel-1) thread #5 - timer://foo] SedaEndpoint INFO Endpoint seda://test-$%7Bbody%7D is using shared queue: seda://test-$%7Bbody%7D with size: 1000
So the route using the enrich with “EndpointRouteBuilder style” seems to consider the endpoint URI as a “simple” expression (and resolves it), and the other one like a “constant” expression (which is what I expected). In the first case, it means that the endpoint is resolved for every exchange processed.
It’s possible to “force” the constant expression using this though:
from(timer("biz")) .setBody(constant("3")) .enrich().constant(seda("test-${body}"));
Regards,
Nicolas