配置了多个数据源,实际运行却总是指向其中的一个数据源?

发布于 2021-11-27 18:01:12 字数 1231 浏览 714 评论 5

我配置了两个数据源:

var ioc = {
    dataSource: {
        type: "org.logicalcobwebs.proxool.ProxoolDataSource",
        fields: {
            driver: 'com.mysql.jdbc.Driver',
            driverUrl: 'jdbc:mysql://127.0.0.1:3306/x?useUnicode=true&characterEncoding=utf-8',
            user: 'root',
            password: ''
        }
    },
    dataSource2: {
        type: "org.logicalcobwebs.proxool.ProxoolDataSource",
        fields: {
            driver: 'oracle.jdbc.driver.OracleDriver',
            driverUrl: 'jdbc:oracle:thin:@127.0.0.1:1521:xe',
            user: 'xx',
            password: ''
        }
    }
};

但是好像两个数据源都指向了mysql数据库,测试代码如下:

Ioc ioc = new NutIoc(new JsonLoader("ioc/dao.js"));
DataSource dSource2 = ioc.get(null,"dataSource2");
DataSource dSource = ioc.get(null,"dataSource");
System.out.println(dSource.getConnection().getMetaData().getDatabaseProductName());
System.out.println(dSource2.getConnection().getMetaData().getDatabaseProductName());

最后都打印了MySql,但是两个数据源确实是实例化了两个不同的对象,请问这是为什么呢?





如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

秋意浓 2021-11-30 02:04:42

确实是这个配置文件,我把org.logicalcobwebs.proxool.ProxoolDataSource替换为SimpleDataSource就打印正常。

离去的眼神 2021-11-30 01:58:23

那就别用proxool了,用druid吧

筱果果 2021-11-30 01:48:38

嗯,试了一下,druid可以。非常感谢! proxool为什么不行呢?目前所有的项目用的都是proxool。

2021-11-30 01:03:27

回复
从不用这货,不清楚

南汐寒笙箫 2021-11-30 00:45:57

如果这是两个不同的实例(dSource2和dSource) ,那就不是nutz的问题了

常见原因是: 你以为加载了配置文件A,但实际上是配置文件B

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文