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();
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.