【问题标题】:Return file content from Camel route using exchange使用交换从骆驼路线返回文件内容
【发布时间】:2021-03-03 21:28:46
【问题描述】:

我正在使用FluentProducerTemplate 将一些数据发送到 Camel 路由并返回硬编码字符串消息“Hello”。现在我希望 Camel 路由从本地存储的文本或 json 文件返回数据。我在文档中找不到路由应如何返回文件内容。我认为它应该是 exchange.getIn().setBody(<declare path>) 但我不知道该怎么做/声明它。我会在项目的 IDE 文件夹/包dataOut/data.txt 中拥有该文件。

@EndpointInject
private FluentProducerTemplate producer;

public String getDataFromRoute(Employee employee){
    String strData = producer.withBody(employee)
           .to("direct:invokeRoute")
           .request(String.class);
    return strData;      
}

@Override
public void configure() throws Exception {
     from("direct:invokeRoute")
            .process(exchange -> {
                 exchange.getIn().setBody("Hallo")
        });
}

【问题讨论】:

    标签: java apache-camel


    【解决方案1】:

    在您的路线中,您需要进行充实。

    https://camel.apache.org/components/3.4.x/eips/pollEnrich-eip.html

    public void configure() throws Exception {
         from("direct:invokeRoute")
          .pollEnrich("file:dataOut?fileName=data.txt");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      相关资源
      最近更新 更多