以下は、XMLで完全に機能するCamelルートです
<route id="someId">
<from id="_from" uri="{{consumer.serviceName}}:queue:{{consumer.notificationQueue}}?{{consumer.queryParams}}"/>
<log loggerRef="loggerId" message="Messages throttling from Queue"/>
<throttle prop:timePeriodMillis="{{throttle.timePeriod}}">
<constant>{{throttle.maximumRequestsPerSecond}}</constant>
<log loggerRef="logger" message="Consuming notification message from Queue {{consumer.myQueue}} : ${body}"/>
<bean id="beanId" method="process" ref="MyProcessor"/>
</throttle>
</route>
今度は、Java で同様のキャメル エンドポイントを書きたいと思います。ログとスロットルの属性を追加する方法を教えてください。
MyProcessor messageProcessor;
String Uri = serviceName + ":queue:" + queueName + "?" + queryParams;
Endpoint ep = camelContext.getEndpoint(Uri);
Consumer consumer = ep.createConsumer(messageProcessor);
consumer.start();