预计5.2.1版本的SharedingSphere Hint指定数据库未生效问题

配置文件展示

shardingsphere:props:sql-show: falsedatasource:names:datacenter1,datacenter2,datacenter3rules:sharding:tables:shape:actual-data-nodes: datacenter$->{1..3}.shape$->{0..7}key-generate-strategy:column: idkey-generator-name: snowflaketable-strategy:hint:sharding-algorithm-name: myTest       sharding-algorithms:myTest:type: CLASS_BASEprops:strategy: hintalgorithmClassName: com.config.CustomDataSourceSelector

 com.config.CustomDataSourceSelector如下所示


public class CustomDataSourceSelector  implements HintShardingAlgorithm<Integer> {@Overridepublic Collection<String> doSharding(Collection<String> availableTargetNames, HintShardingValue<Integer> shardingValue) {Collection<Integer> values = shardingValue.getValues();Collection<String> dbs= Lists.newArrayList();for(Integer one: values){availableTargetNames.forEach(db->{if(db.endsWith(one.toString())){dbs.add(db);}});}return dbs;}@Overridepublic Properties getProps() {return null;}@Overridepublic void init(Properties properties) {}
}

 测试类:

@Test
public void test() {//创建HintManager示例HintManager hintManager = HintManager.getInstance();//配置分表路由//hintManager.addTableShardingValue("shape", 1);//配置分库路由hintManager.addDatabaseShardingValue("datacenter", 0);// sql查询数据库//关闭强制路由hintManager.close();
}

结果这里的sql查询并没有走datacenter0。经过排查

解决方式:

hintManager.addDatabaseShardingValue("shape", 0);

hintManager.addDatabaseShardingValue("shape", 0); 这里的还是得用逻辑表名才可以。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65496.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring】基于注解的Spring容器配置——@Scope注解

在使用Spring框架时&#xff0c;理解Bean的作用域&#xff08;Scope&#xff09;是非常重要的。Bean的作用域决定了Spring容器如何创建和管理Bean的生命周期。正确地使用作用域可以提高应用的性能和资源利用率&#xff0c;同时也能确保应用的正确性。 在大型企业级应用中&…

关于Promise的小测验

关于Promise的小测验 题目 // 编码挑战 #1 /* 在这个挑战中&#xff0c;你将构建一个函数 ‘whereAmI’&#xff0c;该函数仅基于 GPS 坐标显示国家信息。为此&#xff0c;你将使用第二个 API 来对坐标进行地理编码。 以下是你的任务&#xff1a; 第一部分 创建一个函数 ‘whe…

“邂逅”良渚遗址 “巧造”苏绣非遗 《牧神记》焕新有“玄机”

由bilibili与玄机科技联合出品的动画番剧《牧神记》自10月27日上线以来&#xff0c;累计收获了1.2亿播放量、超150万用户追番&#xff0c;B站评分9.7分&#xff0c;多次入选豆瓣口碑华语剧集周榜的动画冠军。放眼今年的国产新番&#xff0c;成绩相当可观。巧妙融合诸多传统元素…

AI文献阅读ChatDOC 、ChatPDF 哪个好?

作为AI产品的深度使用者&#xff0c;基本每天都在使用AI。AI诞生后仿佛给所有的产品打开了新世界大门。当然AI在文献阅读方面自然也不会缺席。 先来简单对比一下ChatDOC vs ChatPDF 从表格里可以看到ChatDOC与ChatPDF都是基于GPT的产品&#xff0c;但在功能上ChatDOC还是比Chat…

Flutter DragTarget拖拽控件详解

文章目录 1. DragTarget 控件的构造函数主要参数&#xff1a; 2. DragTarget 的工作原理3. 常见用法示例 1&#xff1a;实现一个简单的拖拽目标解释&#xff1a;示例 2&#xff1a;与 Draggable 结合使用解释&#xff1a; 4. DragTarget 的回调详解5. 总结 DragTarget 是 Flutt…

【Rhino】【Python】将beam线的端点沿着自身方向移动到column轮廓线上

#codingutf-8 import rhinoscriptsyntax as rs import Rhino.Geometry as rgdef extend_lines_to_columns():print("开始运行脚本...")# 定义要处理的图层名称beam_layer "Make2D::Visible::Curves::02 STR. SOLID MAMBER::1*.1.BEAM MAIN (UNIONED)"colu…

Huggingface数据集采样之后得到的arrow文件无法用Dataset.load_from_disk加载解决方法

问题起源 我现在有数据集 我想要采样1/10构成一个新的数据集。起初我只是简单的使用save_to_disk保存&#xff0c;如下代码&#xff1a; from datasets import Dataset import os# 原数据集路径 source_dataset_path "~/.cache/huggingface/datasets/allenai___tulu-3-…

js版本之ES6特性简述【Proxy、Reflect、Iterator、Generator】(五)

目录 Proxy Reflect 静态方法 部分实例 Iterator 实际开发迭代器的使用实例 迭代器&#xff08;Iterator&#xff09;应用 Generator Proxy Proxy 是 ES6 中新增的对象 Proxy 是JavaScript中的内置对象&#xff0c;它提供了一种机制&#xff0c;可以拦截并自定义各种…

React 组件通信完整指南 以及 自定义事件发布订阅系统

React 组件通信完整指南 1. 父子组件通信 1.1 父组件向子组件传递数据 // 父组件 function ParentComponent() {const [data, setData] useState(Hello from parent);return <ChildComponent message{data} />; }// 子组件 function ChildComponent({ message }) {re…

mac中idea菜单工具栏没有git图标了

1.右击菜单工具栏 2.选中VCS&#xff0c;点击添加 3.搜索你要的工具&#xff0c;选中点击确定就添加了 4.回到上面一个界面&#xff0c;选中你要放到工具栏的工具&#xff0c;点击应用就好了 5.修改图标&#xff0c;快捷键或者右击选中编辑图标 6.选择你要的图标就好了

Linux实验报告7-文件管理

目录 一&#xff1a;实验目的 二&#xff1a;实验内容 (1)查看/etc/inittab文件的权限属性&#xff0c;并指出该文件的所有者以及文件所属组群。 (2)新建文件test&#xff0c;设置文件权限为r--r-----。 (3)新建文件test2&#xff0c;设系统中有用户study和用户组studygr…

CPT203 Software Engineering 软件工程 Pt.4 软件设计(中英双语)

文章目录 6. 设计概念6.1 Principle6.2 Concepts6.2.1 General design concepts&#xff08;常见的设计概念&#xff09;6.2.1.1 Abstraction&#xff08;抽象&#xff09;6.2.1.2 Modularity&#xff08;模块化&#xff09;6.2.1.3 Functional independence&#xff08;功能独…

JSON 系列之4:JSON_VALUE

JSON_VALUE的作用&#xff0c;简单来说&#xff0c;就是从JSON到SQL&#xff1a; SQL/JSON function JSON_VALUE selects JSON data and returns a SQL scalar or an instance of a user-defined SQL object type or SQL collection type (varray, nested table) 所以&#xff…

[wzoi]Help Bubu

题目描述: Bubu的书架上乱成一团了&#xff01;请帮助他一下吧&#xff01; 他的书架上一共有n本书。我们定义混乱值是连续相同高度书本的段数。例如&#xff0c;如果输的高度是30,30,31,31,32&#xff0c;那么混乱值为3,30,32,32,31的混乱度也是3&#xff0c;但31,32,31,32,…

嵌入式AI STM32部署卷积神经网络的魔法棒

基于STM32部署卷积神经网络控制设备方案-AI项目-STM32部署卷积神经网络方案-红外信号复制方案-轨迹识别 项目包含下述内容 硬件部分、PCB制板、BOM表文件等等 (Hardware)外壳、3D打印文件 (3D_print)软件程序、用于电子法棒的软件程序 AI Keil等等(Software)QT上位机动作识别…

【代码分析】Unet-Pytorch

1&#xff1a;unet_parts.py 主要包含&#xff1a; 【1】double conv&#xff0c;双层卷积 【2】down&#xff0c;下采样 【3】up&#xff0c;上采样 【4】out conv&#xff0c;输出卷积 """ Parts of the U-Net model """import torch im…

[Leetcode] 最大子数组和 [击败99%的解法]

解法1&#xff1a; 暴力解法 遍历每个元素&#xff0c;从它当前位置一直加到最后&#xff0c;然后用一个最大值来记录全局最大值。 代码如下&#xff1a; class Solution {public int maxSubArray(int[] nums) {long sum, max nums[len-1];for (int i0; i<nums.length;…

系统压力测试助手——stress-ng

1、背景 在系统性能测试和压力测试中&#xff0c;stress-ng 是一个非常强大的工具&#xff0c;广泛应用于对 Linux 系统进行各种硬件和软件方面的负载测试。它能够模拟多种极端负载情况&#xff0c;帮助开发人员和运维人员检查系统在高负载下的表现&#xff0c;以便发现潜在的…

计算机网络500题2024-2025学年度第一学期复习题库(选择、判断、填空)

一、单选题 1、&#xff08; &#xff09;是实现两个同种网络互连的设备 A. 网桥 B. 网关 C. 集线器 D. 路由器 2、10M以太网有三种接口标准&#xff0c;其中10BASE-T采用&#xff08; &#xff09; A. 双绞线 B. 粗同轴电缆 C. 细同轴电缆 D. 光纤 3、HDLC是哪…

在JavaScript文件中定义方法和数据(不是在对象里定以数据和方法,不要搞错了)

在对象里定以数据和方法看这一篇 对象字面量内定义属性和方法&#xff08;什么使用const等关键字&#xff0c;什么时候用键值对&#xff09;-CSDN博客https://blog.csdn.net/m0_62961212/article/details/144788665 下是在JavaScript文件中定义方法和数据的基本方式&#xff…