Java 如何从路由设置Pojo属性?

Java 如何从路由设置Pojo属性?,java,apache-camel,pojo,Java,Apache Camel,Pojo,我有一条路线: from("direct:test") .process(new Processor() { @Override public void process(Exchange exchange) throws Exception { RestResult result = new RestResult(); exchange.getOut().setBody(result); }}) ..

我有一条路线:

from("direct:test")
    .process(new Processor() {
        @Override public void process(Exchange exchange) throws Exception {
            RestResult result = new RestResult();
            exchange.getOut().setBody(result);
        }})
    ....
    .setBody(simple("${body.setStatusText('Some Status Text.')}"))
    .transform().body();
我用RestResult类设置消息体。 之后,我做了一些事情,并希望更改Pojo中的一个属性StatusText。但如果我像上面那样做,我会得到一个空体。因为return=null,所以覆盖整个正文。但我只想将类的属性更改为交换的主体

public class RestResult {
    private String StatusText = "OK";
    public String   getStatusText() {                       return StatusText;}
    public void     setStatusText(String statusText) {      StatusText = statusText;}
}

有人有主意吗?

你怎么能用另一个处理器呢
simple(${body.setStatusText('Some Status Text.')}“
返回null。因此,body为null。您可以通过setStatusText方法
返回此
来解决此问题,但这不是gud的主意。请检查此项,除非您必须特别使用Camel,请使用处理器,如下所示。
Java.process(exchange->{RestResult result=exchange.getIn().getBody(RestResult.class);if(result!=null){result.setStatusText(“某些状态文本”);}exchange.getIn().setBody(result);})
我认为读路由更好,当我只更改一个属性时,我会编写一个处理器。