我正在使用Apache Camel版本2.10.0,我目前在我的camelContext中以XML格式提供以下内容:
<dataFormats>
<json id="jack" library="Jackson" unmarshalTypeName="package.name.PojoClassName"/>
</dataFormats>
我想将其移至Java Config,但如果不使用已弃用的方法,我似乎无法做到这一点。这是我得到的精简版本:
public class MyCamelConfig extends CamelConfiguration {
@Override
protected void setupCamelContext(CamelContext context) {
// "getDataFormats()" is deprecated
context.getDataFormats().put("jack", getJack());
}
@Override
public List<RouteBuilder> routes() {
// bunch of route builders created and returned
}
@Bean
public DataFormatDefinition getJack() {
//create and return a DataFormatDefinition
}
}
我一直无法找到一种不推荐的方法来执行此操作。
答案 0 :(得分:0)
看起来如下工作:
@Override
protected void setupCamelContext(CamelContext context) {
ModelCamelContext modelContext = (ModelCamelContext) context;
modelContext.getDataFormats().put("jack", getJack());
}
我只是将CamelContext
投射到ModelCamelContext
。