2014-01-09 40 views
0

我使用Apache的駱駝版本2.10.0和我目前在我的XML格式camelContext如下:使用的Spring Java配置註冊Apache的駱駝dataFormats

<dataFormats> 
    <json id="jack" library="Jackson" unmarshalTypeName="package.name.PojoClassName"/> 
</dataFormats> 

我想將它移動到Java的配置,但我似乎無法使用不推薦使用的方法。這是我得到的一個修剪版本:

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

它看起來像以下工作:

@Override 
protected void setupCamelContext(CamelContext context) { 
    ModelCamelContext modelContext = (ModelCamelContext) context; 
    modelContext.getDataFormats().put("jack", getJack()); 
} 

我只投了CamelContextModelCamelContext