From 3ade542d81b68dce8e28a671965670a3a83dfa53 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期日, 22 八月 2021 10:42:58 +0800
Subject: [PATCH] fix 修复 druid 监控 集群模式下 无法路由到同一台服务器问题 nginx 使用 ip_hash 路由方式 保障同 ip 路由到同服务器

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

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..47e7742 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
@@ -1,8 +1,8 @@
 package com.ruoyi.framework.aspectj;
 
-import cn.hutool.core.lang.Validator;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.utils.StringUtils;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
@@ -20,7 +20,7 @@
  * @author ruoyi
  */
 @Aspect
-@Order(1)
+@Order(-500)
 @Component
 public class DataSourceAspect {
 
@@ -33,8 +33,10 @@
 	public Object around(ProceedingJoinPoint point) throws Throwable {
 		DataSource dataSource = getDataSource(point);
 
-		if (Validator.isNotNull(dataSource)) {
-			DynamicDataSourceContextHolder.push(dataSource.value().name());
+		if (StringUtils.isNotNull(dataSource)) {
+			DynamicDataSourceContextHolder.poll();
+			String source = dataSource.value().getSource();
+			DynamicDataSourceContextHolder.push(source);
 		}
 
 		try {

--
Gitblit v1.9.3