1

複数のデータソースに対してキャメル ロード バランサーを有効にしたいと考えています。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");

私の要件は、データソースがダウンしている場合、リクエストを自動的に datasource1 にリダイレクト/選択する必要があることです。それを達成する方法を教えてください。

4

1 に答える 1

0

to を分離して、個別にする

from("direct:checkUser").setBody(simple("${body}"))
       .loadBalance().failover()
            .to("jdbc:dataSource?resetAutoCommit=false&outputType=SelectList")
            .to("jdbc:dataSource1?resetAutoCommit=false&outputType=SelectList");
于 2015-03-01T10:28:46.900 に答える