You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Apache Camel关于已弃用语法的警告

修复Apache Camel里Simple Language的废弃语法警告

嘿,这个警告很好解决!它是因为你用了Camel Simple Language的旧语法——直接写body来引用消息体,现在官方已经不推荐这种写法了,要求换成${xxx}的格式。

问题出在哪?

你的路由里的.split().body()这一行就是警告的根源,这里的body是被标记为废弃的写法。

怎么改?

把.split().body()改成.split(simple("${body}"))就可以了,或者也可以写成.split().simple("${body}"),两种写法功能完全一样,前者看起来更直观一些。

修改后的完整路由代码

@Override 
public void configure() { 
    from("timer?period=12000&repeatCount=1") 
        .log("started") 
        .streamCaching() 
        .to("sql:select * from TABLE WHERE ROWNUM < 100?dataSource=#dataSource") 
        .split(simple("${body}")) 
        .process(new convertToJSON()) 
        .setHeader(Exchange.HTTP_METHOD, constant("POST")) 
        .setHeader(Exchange.CONTENT_TYPE, constant("text/html")) 
        .to(url) 
        .end() 
        .log("Sent"); 
}

额外提醒

其实不止body,要是你以后用其他Simple Language的旧写法(比如直接写header),也要改成${header.xxx}的格式,这是Camel新版本的规范,能让代码更清晰,也避免类似的警告~

内容的提问来源于stack exchange,提问作者abrams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:47:48