如何在骆驼路线中从骆驼上下文中获取属性值

时间:2019-07-05 11:15:56

标签: java spring-boot apache-camel

我正在从数据库中加载属性值。

paraDetailsRepository.loadParaDetails(ParamConstants.KYC_API_VERSION);

然后,将值设置为属性映射并分配给骆驼上下文

properties.put("kyc.api.version.param", para.get(0)); camelContext.setGlobalOptions(properties)

我需要从骆驼路线的骆驼上下文中获取属性值。

有人可以建议一种方法来获取骆驼路线中的财产价值。

谢谢

protected SpringCamelContext camelContext;

@EventListener
public void loadParaDetails(ContextRefreshedEvent event) {

    Map<String, String> properties = new HashMap<String, String>();
    try {
        List<ParaDetails> paraDetails = paraDetailsRepository.loadParaDetails(ParamConstants.KYC_API_VERSION);

        for (ParaDetails para : paraDetails) {
            properties.put("kyc.api.version.param", para.get(0));
        }
        camelContext.setGlobalOptions(properties)
    }
}

2 个答案:

答案 0 :(得分:1)

在Java路线中,您可以使用processor,在其中可以持有CamelContext,然后在其中可以调用全局选项的getter,然后可以在其中获取存储在其中的属性。 / p>

答案 1 :(得分:0)

如果使用RouteBuilder构建路由configure()方法,则可以使用getContext()获取CamelContext。

CamelContext context = getContext();