ClouGence / hasor

Hasor是一套基于 Java 语言的开发框架,区别于其它框架的是 Hasor 有着自己一套完整的体系,同时还可以和先有技术体系做到完美融合。它包含:IoC/Aop容器框架、Web框架、Jdbc框架、RSF分布式RPC框架、DataQL引擎,等几块。
http://www.hasor.net
Apache License 2.0
983 stars 273 forks source link

能否支持多数据源? #83

Closed mqinbin closed 3 years ago

mqinbin commented 3 years ago

假设有 A、B、C三个数据库 其中A、B是需要对外提供的数据库 C中可以存放dataway所需的两张表。 这个需求如何配置?

zycgit commented 3 years ago

目前版本还不支持,主要是 C 目前还没有隔离机制。这个需求我研究研究加一下。

zycgit commented 3 years ago

目前 master 上已经可以支持 issue 中的诉求。目标发布版本为 4.2.2

用法如下:

DataSource metadataDs = ... apiBinder.bindType(InformationStorage.class).toInstance(() -> { return metadataDs; });

zycgit commented 3 years ago

多数据源 + 两张表的隔离

    // .DataSource form Spring boot into Hasor
    apiBinder.bindType(InformationStorage.class).toInstance(() -> {
        return this.metadataDs;
    });
    queryBinder.installModule(new JdbcModule(Level.Full, "ds1", this.dataDs1));
    queryBinder.installModule(new JdbcModule(Level.Full, "ds2", this.dataDs2));