Цитируется по ссылке, которую вы дали:
Вы не должны создавать ProducerTemplate для каждого вызова сообщения; вы должны создать один экземпляр при запуске и сохранить его.
Также, когда вы закончили использовать ProducerTemplate, вы должны вызвать метод stop (), чтобы закрыть все используемые им ресурсы.
Таким образом, в типичном веб-приложении вы не создаете ProducerTemplate
для каждого запроса, например:
ProducerTemplate template = camelContext.createProducerTemplate();
Это считается плохой практикой по понятным причинам.
Вместо этого должна быть введена конечная точка, например, используя аннотацию @EndpointInject
@EndpointInject(uri = "file:{{file.inbox}}")
private ProducerTemplate inbox;
как описано здесь .