Apache Camel Swift 转换器

问题描述 投票:0回答:1

我正在尝试使用 apache Camel 转换 swift MT-MX。我发现:APACHE CAMEL COMPONENT SWIFT MX并且我尝试使用它:

public class MySpringBootRouter extends RouteBuilder {
    
    @Override
    public void configure() {
        
        from("file://inputDir?noop=true")
        .convertBodyTo(String.class)
        .marshal().swiftMx()
        .to("file:output"); 
    }
}

但它向我显示了这个错误:

java.lang.ClassCastException:类 java.lang.String 无法转换为 类 com.prowidesoftware.swift.model.mx.AbstractMX (java.lang.String 位于加载程序“bootstrap”的 java.base 模块中; com.prowidesoftware.swift.model.mx.AbstractMX 位于未命名模块中 加载器“应用程序”)

swift spring apache-camel
1个回答
0
投票

我会使用一个处理器,将交换消息正文作为字符串读取。

类似这样的:

public class MySpringBootRouter extends RouteBuilder {

    @Override
    public void configure() {
        
        from("file://inputDir?noop=true")
            .convertBodyTo(String.class)
            .process(exchange -> {
                String body = exchange.getMessage().getBody(String.class);
                AbstractMX mxMessage = MxParseUtils.parse(body);
                exchange.getMessage().setBody(mxMessage);
            })
            .marshal().swiftMx()
            .to("file:output"); 
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.