Sharding-JDBC 1.4.2 proxool bug 403.10 禁止访问:配置无效 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Sharding-JDBC 1.4.2 proxool bug 403.10 禁止访问:配置无效 

kun坤 2020-05-27 14:01:06 98

测试场景: 版本 1.4.2 链接池 proxool  环境    spring3.2+hibernate4.2 结果  分库无效; 连接池改用druid 则数据可以正常分库 在版本1.3.3测试proxool正常 相关日志 DEBUG c.d.d.r.s.router.SQLRouteEngine - master:INSERT INTO ccp_sms_req (id, accountId, num) VALUES (replace(uuid(), '-', ''), ?, ?) [1000, 11120007310] DEBUG c.d.d.r.s.router.SQLRouteEngine - 11001:INSERT INTO ccp_sms_req (id, accountId, num) VALUES (replace(uuid(), '-', ''), ?, ?) [1001, 11120007311] DEBUG c.d.d.r.s.router.SQLRouteEngine - master:INSERT INTO ccp_sms_req (id, accountId, num) VALUES (replace(uuid(), '-', ''), ?, ?) [1002, 11120007312] 测试结果 在 proxool 连接池下的实际结果为 3条数据都插入到了master库;改用druid 连接池则复合预期; 期望结果 2条数据入到master库,1条数据入到11001库;  

分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-05-27 17:33:24
    使用Proxool配置多个数据源时,应该为每个数据源设置alias,因为Proxool在使用连接时会判断连接池中是否包含已存在的alias,不配置alias会造成每次获取都只从一个数据源中获取连接。
    ```java
        if(!ConnectionPoolManager.getInstance().isPoolExists(this.alias)) {
            this.registerPool();
        }
    ```
    ######可以看一下这个issue,有解决方案:https://github.com/dangdangdotcom/sharding-jdbc/issues/259
    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章