骆驼:如何将Integer标头的值增加设定的数量

Arc*_*her 6 apache-camel

到目前为止,这是我的代码,在此我想将offset标头的值增加50

.process(new Processor() {
     @Override
     public void process(Exchange ex){  
         ex.getIn().setHeader("offset", Integer.parseInt(ex.getIn().getHeader("offset").toString())); }
  })
Run Code Online (Sandbox Code Playgroud)

有人知道一个简单的解决方案吗?

rau*_*ulk 3

我没有看到您50在代码中增加整数标头的位置[注意:问题随后被编辑]。您似乎只是将 a 解析String为整数。您可以通过利用类型转换来简化它:

Message in = ex.getIn();
in.setHeader("offset", in.getHeader("offset", Integer.class));
Run Code Online (Sandbox Code Playgroud)

如果您想将偏移标头增加50,您可以在OGNL的帮助下在路线内完成此操作(无需像建议的其他答案那样求助于处理器),并首先将标头转换为整数:

from("direct:hello")
    .setHeader("offset", header("offset").convertTo(Integer.class))
    .setHeader("offset").ognl("request.headers.offset + 50");
Run Code Online (Sandbox Code Playgroud)