簡體   English   中英

轉換和過濾列 - Apache Camel

[英]Transform and filter column - Apache Camel

我想轉換一個 CSV,然后在 Camel 中過濾結果。 例如使用給定的 csv:

Product,Quantity
cheese,90
milk,100
milk,90

我如何將Product列轉換為Proper大小寫,然后過濾行以僅包含Milk類別?

我嘗試了以下方法:

@Component
public class TransformMessage extends RouteBuilder {

    @Override
    public void configure() {

        DataFormat bindy =
                new BindyCsvDataFormat(com.model.Product.class);

        from("file:data/?fileName=products.csv&noop=true")
                .log("Message: ${body}")
                .transform(body().regexReplaceAll("milk", "Milk")) /* unsure on how to select a column to operate over */
                .filter() /* unsure on how to select a column to operate over */
                .unmarshal(bindy)

當前的轉換會更改所有文本,並且不會按照我的意圖對單個列進行操作。

感謝幫助,

您需要考慮EIPs並可能使用拆分器過濾器消息轉換器 第一個您的工作單元將是 CVS 行,第二個您可以只處理您需要的項目,第三個您將應用所需的轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM