如何在camel jdbc端点中启用多个数据源?

时间:2015-02-23 06:33:31

标签: apache-camel camel-jdbc

我想为多个数据源启用camel负载均衡器。请问我如何在camel jdbc端点中启用多个数据源。 在此先感谢!!

这是我的代码。在defaultcamelcontext中创建多个数据源。

        SimpleRegistry simpleregistry = new SimpleRegistry();
        Map<String, Object> ds = new HashMap<String, Object>();
        ds.put("dataSource", mydataSource);
        ds.put("dataSource1", mydataSource1);
        simpleregistry.putAll(ds);

        Camel camel = CamelExtension.get(system);
        DefaultCamelContext defaultCamelContext = camel.context();
        defaultCamelContext.setRegistry(simpleregistry);

我的路由构建器指向多个数据源:

    from("direct:checkUser").setBody(simple("${body}"))
            .loadBalance()
            .failover()
            .to("jdbc:dataSource?resetAutoCommit=false&outputType=SelectList","jdbc:dataSource1?resetAutoCommit=false&outputType=SelectList");

我的要求是,如果数据源已关闭,我的请求需要自动重定向/选择数据源1。请让我如何实现它。

1 个答案:

答案 0 :(得分:0)

分开,所以他们是个人

from("direct:checkUser").setBody(simple("${body}"))
       .loadBalance().failover()
            .to("jdbc:dataSource?resetAutoCommit=false&outputType=SelectList")
            .to("jdbc:dataSource1?resetAutoCommit=false&outputType=SelectList");