From 3131b7ea9d129936a88e960e010b66bcb8434f09 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期二, 25 五月 2021 13:40:18 +0800
Subject: [PATCH] fix redis反序列化异常问题

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/AdminServerConfig.java |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/AdminServerConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/AdminServerConfig.java
index 49b5411..59fed50 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/AdminServerConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/AdminServerConfig.java
@@ -1,16 +1,31 @@
 package com.ruoyi.framework.config;
 
 import de.codecentric.boot.admin.server.config.EnableAdminServer;
+import org.springframework.beans.factory.ObjectProvider;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration;
+import org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties;
 import org.springframework.boot.task.TaskExecutorBuilder;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+import org.thymeleaf.dialect.IDialect;
+import org.thymeleaf.spring5.ISpringTemplateEngine;
+import org.thymeleaf.spring5.SpringTemplateEngine;
+import org.thymeleaf.templateresolver.ITemplateResolver;
 
+import java.util.Comparator;
+import java.util.LinkedHashSet;
+import java.util.Set;
 import java.util.concurrent.Executor;
+import java.util.stream.Collectors;
 
+/**
+ * springboot-admin server閰嶇疆绫�
+ *
+ * @author Lion Li
+ */
 @Configuration
 @EnableAdminServer
 public class AdminServerConfig {
@@ -21,4 +36,28 @@
     public ThreadPoolTaskExecutor applicationTaskExecutor(TaskExecutorBuilder builder) {
         return builder.build();
     }
+
+    /**
+     * 瑙e喅 admin 涓� 椤圭洰 椤甸潰鐨勪氦鍙夊紩鐢� 灏� admin 鐨勮矾鐢辨斁鍒版渶鍚�
+     * @param properties
+     * @param templateResolvers
+     * @param dialects
+     * @return
+     */
+    @Bean
+    @ConditionalOnMissingBean(ISpringTemplateEngine.class)
+    SpringTemplateEngine templateEngine(ThymeleafProperties properties,
+                                        ObjectProvider<ITemplateResolver> templateResolvers, ObjectProvider<IDialect> dialects) {
+        SpringTemplateEngine engine = new SpringTemplateEngine();
+        engine.setEnableSpringELCompiler(properties.isEnableSpringElCompiler());
+        engine.setRenderHiddenMarkersBeforeCheckboxes(properties.isRenderHiddenMarkersBeforeCheckboxes());
+        templateResolvers.orderedStream().forEach(engine::addTemplateResolver);
+        dialects.orderedStream().forEach(engine::addDialect);
+        Set<ITemplateResolver> templateResolvers1 = engine.getTemplateResolvers();
+        templateResolvers1 = templateResolvers1.stream()
+                .sorted(Comparator.comparing(ITemplateResolver::getOrder))
+                .collect(Collectors.toCollection(LinkedHashSet::new));
+        engine.setTemplateResolvers(templateResolvers1);
+        return engine;
+    }
 }

--
Gitblit v1.9.3