37.2. 使用 Fluent Producer 模板
从 Camel 2.18 开始提供
FluentProducerTemplate
接口为构建制作者提供了一个流畅的语法。DefaultFluentProducerTemplate
类实施 FluentProducerTemplate
。
以下示例使用 DefaultFluentProducerTemplate
对象来设置标头和正文:
Integer result = DefaultFluentProducerTemplate.on(context) .withHeader("key-1", "value-1") .withHeader("key-2", "value-2") .withBody("Hello") .to("direct:inout") .request(Integer.class);
以下示例演示了如何在 DefaultFluentProducerTemplate
对象中指定处理器:
Integer result = DefaultFluentProducerTemplate.on(context) .withProcessor(exchange -> exchange.getIn().setBody("Hello World")) .to("direct:exception") .request(Integer.class);
下一个示例演示了如何自定义默认的 fluent producer 模板:
Object result = DefaultFluentProducerTemplate.on(context) .withTemplateCustomizer( template -> { template.setExecutorService(myExecutor); template.setMaximumCacheSize(10); } ) .withBody("the body") .to("direct:start") .request();
要在 Camel 上下文上创建 FluentProducerTemplate
实例,请调用 createFluentProducerTemplate ()
方法。例如:
FluentProducerTemplate fluentProducerTemplate = context.createFluentProducerTemplate();