Apache Camel拆分在对象方面失败



字符串列表可以拆分,但对象列表拆分失败。未打印值。请帮我找到问题.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");

并且还让你测试POJO公开

最新更新