修改不影响测试环境启动

This commit is contained in:
sh
2025-12-01 12:20:46 +08:00
parent 6c19e45f10
commit da3307a7b7

View File

@@ -3,37 +3,37 @@ package com.ruoyi.framework.config;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
@Configuration //@Configuration
public class ClassloaderConfig { //public class ClassloaderConfig {
//
@PostConstruct // @PostConstruct
public void bindAppClassLoader() { // public void bindAppClassLoader() {
ClassLoader appClassLoader = this.getClass().getClassLoader(); // ClassLoader appClassLoader = this.getClass().getClassLoader();
Thread.currentThread().setContextClassLoader(appClassLoader); // Thread.currentThread().setContextClassLoader(appClassLoader);
System.out.println("已强制绑定线程类加载器:" + appClassLoader); // System.out.println("已强制绑定线程类加载器:" + appClassLoader);
//
// 重点:主动加载 Tomcat WebSocket 核心类,确保类加载器锁定 // // 重点:主动加载 Tomcat WebSocket 核心类,确保类加载器锁定
try { // try {
// Tomcat WebSocket 容器类(冲突核心类) // // Tomcat WebSocket 容器类(冲突核心类)
appClassLoader.loadClass("org.apache.tomcat.websocket.server.WsServerContainer"); // appClassLoader.loadClass("org.apache.tomcat.websocket.server.WsServerContainer");
// Tomcat WebSocket 初始化类 // // Tomcat WebSocket 初始化类
appClassLoader.loadClass("org.apache.tomcat.websocket.server.WsServletContainerInitializer"); // appClassLoader.loadClass("org.apache.tomcat.websocket.server.WsServletContainerInitializer");
// Spring WebSocket 适配类 // // Spring WebSocket 适配类
appClassLoader.loadClass("org.springframework.web.socket.server.standard.ServerEndpointExporter"); // appClassLoader.loadClass("org.springframework.web.socket.server.standard.ServerEndpointExporter");
// Jakarta WebSocket API 类(应用内依赖) // // Jakarta WebSocket API 类(应用内依赖)
appClassLoader.loadClass("jakarta.websocket.server.ServerContainer"); // appClassLoader.loadClass("jakarta.websocket.server.ServerContainer");
System.out.println("WebSocket 核心类已通过应用类加载器锁定,无冲突"); // System.out.println("WebSocket 核心类已通过应用类加载器锁定,无冲突");
} catch (ClassNotFoundException e) { // } catch (ClassNotFoundException e) {
System.err.println("应用类加载器未找到 WebSocket 依赖,检查 spring-boot-starter-websocket 是否正常引入:" + e.getMessage()); // System.err.println("应用类加载器未找到 WebSocket 依赖,检查 spring-boot-starter-websocket 是否正常引入:" + e.getMessage());
throw new RuntimeException("WebSocket 依赖缺失", e); // throw new RuntimeException("WebSocket 依赖缺失", e);
} // }
//
// 验证 Validator 类加载 // // 验证 Validator 类加载
try { // try {
appClassLoader.loadClass("jakarta.validation.Validator"); // appClassLoader.loadClass("jakarta.validation.Validator");
System.out.println("Jakarta Validation API 加载成功"); // System.out.println("Jakarta Validation API 加载成功");
} catch (ClassNotFoundException e) { // } catch (ClassNotFoundException e) {
System.err.println("Validator 依赖缺失:" + e.getMessage()); // System.err.println("Validator 依赖缺失:" + e.getMessage());
} // }
} // }
} //}