From 40bba563d698adc125d16217a180b21f71aabe54 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期二, 22 六月 2021 13:43:05 +0800
Subject: [PATCH] update 优化多数据源aop顺序问题
---
ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java | 30 ++++++++++++++++++------------
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java | 6 ++++--
2 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java
index 0d945be..d5f5465 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java
@@ -1,19 +1,25 @@
package com.ruoyi.common.enums;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
/**
* 鏁版嵁婧�
- *
- * @author ruoyi
+ *
+ * @author Lion Li
*/
-public enum DataSourceType
-{
- /**
- * 涓诲簱
- */
- MASTER,
+@AllArgsConstructor
+public enum DataSourceType {
+ /**
+ * 涓诲簱
+ */
+ MASTER("master"),
- /**
- * 浠庡簱
- */
- SLAVE
+ /**
+ * 浠庡簱
+ */
+ SLAVE("slave");
+
+ @Getter
+ private final String source;
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
index 3167934..f82b2ae 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
@@ -20,7 +20,7 @@
* @author ruoyi
*/
@Aspect
-@Order(1)
+@Order(-500)
@Component
public class DataSourceAspect {
@@ -34,7 +34,9 @@
DataSource dataSource = getDataSource(point);
if (Validator.isNotNull(dataSource)) {
- DynamicDataSourceContextHolder.push(dataSource.value().name());
+ DynamicDataSourceContextHolder.poll();
+ String source = dataSource.value().getSource();
+ DynamicDataSourceContextHolder.push(source);
}
try {
--
Gitblit v1.9.3