繁体   English   中英

Apache Camel拆分因对象失败

[英]Apache Camel split is failing with Objects

可以拆分字符串列表,但拆分对象列表失败。无法打印值。请帮助我查找问题。永远不会打印f2,而仅会出现f1。

输出:

s1
s2
f1
s1
s2
f1

码:

public class SampleTimerRouter extends RouteBuilder {

    @Override
    public void configure() throws Exception {

        from("timer:simpleTimer1?period=2000").process((exchange) -> {
            List<TestPOJO> names = new ArrayList<>();
            names.add(new TestPOJO("f1"));
            names.add(new TestPOJO("f2"));
            exchange.getOut().setBody(names);
        }).split(body(TestPOJO.class)).to("stream:out");


        from("timer:simpleTimer2?period=2000").process((exchange) -> {
            List<String> names = new ArrayList<>();
            names.add("s1");
            names.add("s2");
            exchange.getOut().setBody(names);
        }).split(body(String.class)).to("stream:out");

    }
}

class TestPOJO {
    private String fName;

    public TestPOJO(String f) {
        fName = f;
    }

    public String getfName() {
        return fName;
    }

    public void setfName(String fName) {
        this.fName = fName;
    }

    @Override
    public String toString() {
        return fName;
    }
}

将路线更改为

 from("timer:simpleTimer1?period=2000").process((exchange) -> {
            List<TestPOJO> names = new ArrayList<>();
            names.add(new TestPOJO("f1"));
            names.add(new TestPOJO("f2"));
            exchange.getOut().setBody(names);
        }).split(simple("${body}")).to("stream:out");

并让您将TestPOJO公开

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM