From cac0a4cd169857c7eaad80b5fff1c989d0981bd0 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期四, 29 八月 2024 14:12:07 +0800
Subject: [PATCH] update 优化 RegexUtils#extractFromString 方法未匹配返回null不返回默认值问题
---
ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/config/MyBatisDataSourceMonitor.java | 21 +++++++++++++++++++--
1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/config/MyBatisDataSourceMonitor.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/config/MyBatisDataSourceMonitor.java
index bb07606..8c0f352 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/config/MyBatisDataSourceMonitor.java
+++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/config/MyBatisDataSourceMonitor.java
@@ -4,6 +4,7 @@
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.anyline.data.datasource.DataSourceMonitor;
+import org.anyline.data.runtime.DataRuntime;
import org.anyline.util.ConfigTable;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DataSourceUtils;
@@ -41,7 +42,7 @@
* @return String 杩斿洖null鐢变笂灞傝嚜鍔ㄦ彁鍙�
*/
@Override
- public String feature(Object datasource) {
+ public String feature(DataRuntime runtime, Object datasource) {
String feature = null;
if (datasource instanceof JdbcTemplate jdbc) {
DataSource ds = jdbc.getDataSource();
@@ -70,6 +71,22 @@
}
/**
+ * 鏁版嵁婧愬敮涓�鏍囪瘑 濡傛灉涓嶅疄鐜板垯榛樿feature
+ * @param datasource 鏁版嵁婧�
+ * @return String 杩斿洖null鐢变笂灞傝嚜鍔ㄦ彁鍙�
+ */
+ @Override
+ public String key(DataRuntime runtime, Object datasource) {
+ if(datasource instanceof JdbcTemplate jdbc){
+ DataSource ds = jdbc.getDataSource();
+ if(ds instanceof DynamicRoutingDataSource){
+ return DynamicDataSourceContextHolder.peek();
+ }
+ }
+ return runtime.getKey();
+ }
+
+ /**
* ConfigTable.KEEP_ADAPTER=2 : 鏍规嵁褰撳墠鎺ュ彛鍒ゆ柇鏄惁淇濇寔鍚屼竴涓暟鎹簮缁戝畾鍚屼竴涓猘dapter<br/>
* DynamicRoutingDataSource绫诲瀷鐨勮繑鍥瀎alse,鍥犱负鍚屼竴涓狣ynamicRoutingDataSource鍙兘瀵瑰簲澶氱被鏁版嵁搴�, 濡傛灉椤圭洰涓彧鏈変竴绉嶆暟鎹簱 搴旇鐩存帴杩斿洖true
*
@@ -77,7 +94,7 @@
* @return boolean
*/
@Override
- public boolean keepAdapter(Object datasource) {
+ public boolean keepAdapter(DataRuntime runtime, Object datasource) {
if (datasource instanceof JdbcTemplate jdbc) {
DataSource ds = jdbc.getDataSource();
return !(ds instanceof DynamicRoutingDataSource);
--
Gitblit v1.9.3