zhangjf 8e4afcd1a5 feat: TenantAwareLoadBalancer 整合 TenantRoutingProperties 配置
问题:TenantRoutingProperties 定义了配置但未被使用

解决方案:
1. TenantAwareLoadBalancer 注入 TenantRoutingProperties
   - 使用配置的 tenantHeader 名称
   - 使用配置的 buildTenantGroup 方法
   - 使用配置的 isSharedService 判断
   - 使用配置的 isFallbackToShared 策略

2. 新增功能
   - 支持 enabled=false 禁用租户路由
   - 共享服务跳过租户过滤
   - 可配置是否回退到共享实例

3. 更新测试适配新构造函数
2026-02-19 21:02:25 +08:00

78 lines
13 KiB
Plaintext

2026-02-18 12:31:54.520 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final
2026-02-18 12:31:55.358 [main] [] INFO com.fundplatform.file.FileApplication - Starting FileApplication v0.0.1-SNAPSHOT using Java 21 with PID 127888 (/home/along/MyCode/wanjiabuluo/fundplatform/fund-file/target/fund-file-0.0.1-SNAPSHOT.jar started by along in /home/along/MyCode/wanjiabuluo/fundplatform)
2026-02-18 12:31:55.379 [main] [] INFO com.fundplatform.file.FileApplication - No active profile set, falling back to 1 default profile: "default"
2026-02-18 12:32:00.738 [main] [] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
2026-02-18 12:32:00.748 [main] [] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2026-02-18 12:32:00.840 [main] [] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 44 ms. Found 0 Redis repository interfaces.
2026-02-18 12:32:02.096 [main] [] INFO o.springframework.cloud.context.scope.GenericScope - BeanFactory id=1519b07d-1835-3620-b7d6-ebfd8ccb6aba
2026-02-18 12:32:05.628 [main] [] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8600 (http)
2026-02-18 12:32:05.655 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8600"]
2026-02-18 12:32:05.661 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2026-02-18 12:32:05.662 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16]
2026-02-18 12:32:05.844 [main] [] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2026-02-18 12:32:05.845 [main] [] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 10011 ms
2026-02-18 12:32:17.730 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8600"]
2026-02-18 12:32:17.794 [main] [] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8600 (http) with context path ''
2026-02-18 12:32:17.875 [main] [] INFO com.alibaba.nacos.client.naming - initializer namespace from ans.namespace attribute : null
2026-02-18 12:32:17.883 [main] [] INFO com.alibaba.nacos.client.naming - initializer namespace from ALIBABA_ALIWARE_NAMESPACE attribute :null
2026-02-18 12:32:17.885 [main] [] INFO com.alibaba.nacos.client.naming - initializer namespace from namespace attribute :null
2026-02-18 12:32:17.919 [Thread-4] [] INFO c.a.n.client.auth.ram.identify.CredentialWatcher - null No credential found
2026-02-18 12:32:18.046 [main] [] INFO com.alibaba.nacos.client.utils.ParamUtil - [settings] [req-serv] nacos-server port:8848
2026-02-18 12:32:18.047 [main] [] INFO com.alibaba.nacos.client.utils.ParamUtil - [settings] [http-client] connect timeout:1000
2026-02-18 12:32:18.050 [main] [] INFO com.alibaba.nacos.client.utils.ParamUtil - PER_TASK_CONFIG_SIZE: 3000.0
2026-02-18 12:32:18.066 [main] [] INFO c.a.n.p.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success.
2026-02-18 12:32:18.066 [main] [] INFO c.a.n.p.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success.
2026-02-18 12:32:18.112 [main] [] INFO com.alibaba.nacos.common.remote.client - [RpcClientFactory] create a new rpc client of 5d8401a5-dd76-4c42-94b7-0ea16d5b28f8
2026-02-18 12:32:18.324 [main] [] INFO com.alibaba.nacos.client.naming - Create naming rpc client for uuid->5d8401a5-dd76-4c42-94b7-0ea16d5b28f8
2026-02-18 12:32:18.330 [main] [] INFO com.alibaba.nacos.common.remote.client - [5d8401a5-dd76-4c42-94b7-0ea16d5b28f8] RpcClient init, ServerListFactory = com.alibaba.nacos.client.naming.core.ServerListManager
2026-02-18 12:32:18.332 [main] [] INFO com.alibaba.nacos.common.remote.client - [5d8401a5-dd76-4c42-94b7-0ea16d5b28f8] Registry connection listener to current client:com.alibaba.nacos.client.naming.remote.gprc.redo.NamingGrpcRedoService
2026-02-18 12:32:18.337 [main] [] INFO com.alibaba.nacos.common.remote.client - [5d8401a5-dd76-4c42-94b7-0ea16d5b28f8] Register server push request handler:com.alibaba.nacos.client.naming.remote.gprc.NamingPushRequestHandler
2026-02-18 12:32:18.355 [main] [] INFO com.alibaba.nacos.common.remote.client - [5d8401a5-dd76-4c42-94b7-0ea16d5b28f8] Try to connect to server on start up, server: {serverIp = 'localhost', server main port = 8848}
2026-02-18 12:32:18.505 [main] [] INFO c.a.nacos.common.remote.client.grpc.GrpcClient - grpc client connection server:localhost ip,serverPort:9848,grpcTslConfig:{"sslProvider":"","enableTls":false,"mutualAuthEnable":false,"trustAll":false}
2026-02-18 12:32:19.652 [main] [] INFO c.a.n.common.ability.AbstractAbilityControlManager - Ready to get current node abilities...
2026-02-18 12:32:19.655 [main] [] INFO c.a.n.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT]
2026-02-18 12:32:19.656 [main] [] INFO c.a.n.common.ability.AbstractAbilityControlManager - Initialize current abilities finish...
2026-02-18 12:32:19.657 [main] [] INFO c.a.n.c.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager
2026-02-18 12:32:19.691 [main] [] INFO com.alibaba.nacos.common.remote.client - [5d8401a5-dd76-4c42-94b7-0ea16d5b28f8] Success to connect to server [localhost:8848] on start up, connectionId = 1771389139511_127.0.0.1_57868
2026-02-18 12:32:19.692 [com.alibaba.nacos.client.remote.worker] [] INFO com.alibaba.nacos.common.remote.client - [5d8401a5-dd76-4c42-94b7-0ea16d5b28f8] Notify connected event to listeners.
2026-02-18 12:32:19.692 [main] [] INFO com.alibaba.nacos.common.remote.client - [5d8401a5-dd76-4c42-94b7-0ea16d5b28f8] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$ConnectResetRequestHandler
2026-02-18 12:32:19.692 [com.alibaba.nacos.client.remote.worker] [] INFO com.alibaba.nacos.client.naming - Grpc connection connect
2026-02-18 12:32:19.693 [main] [] INFO com.alibaba.nacos.common.remote.client - [5d8401a5-dd76-4c42-94b7-0ea16d5b28f8] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$$Lambda/0x00007471348ed728
2026-02-18 12:32:19.695 [main] [] INFO com.alibaba.nacos.client.naming - [REGISTER-SERVICE] fund-platform registering service fund-file with instance Instance{instanceId='null', ip='10.244.21.185', port=8600, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={IPv6=[240e:424:df80:320b:798a:33d6:b583:89f8], preserved.register.source=SPRING_CLOUD}}
2026-02-18 12:32:19.725 [main] [] INFO c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, DEFAULT_GROUP fund-file 10.244.21.185:8600 register finished
2026-02-18 12:32:19.755 [main] [] INFO com.fundplatform.file.FileApplication - Started FileApplication in 28.057 seconds (process running for 30.863)
2026-02-18 12:33:44.157 [http-nio-8600-exec-1] [] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2026-02-18 12:33:44.158 [http-nio-8600-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2026-02-18 12:33:44.164 [http-nio-8600-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 4 ms
2026-02-18 12:33:44.538 [http-nio-8600-exec-1] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2026-02-18 12:33:45.398 [http-nio-8600-exec-1] [] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@6285921f
2026-02-18 12:33:45.402 [http-nio-8600-exec-1] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2026-02-18 13:53:36.432 [SpringApplicationShutdownHook] [] INFO c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2026-02-18 13:53:36.440 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - [DEREGISTER-SERVICE] fund-platform deregistering service fund-file with instance: Instance{instanceId='null', ip='10.244.21.185', port=8600, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={}}
2026-02-18 13:53:36.634 [SpringApplicationShutdownHook] [] INFO c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2026-02-18 13:53:36.638 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.cache.ServiceInfoHolder do shutdown begin
2026-02-18 13:53:36.638 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown begin
2026-02-18 13:53:36.639 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown stop
2026-02-18 13:53:36.640 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.cache.ServiceInfoHolder do shutdown stop
2026-02-18 13:53:36.640 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate do shutdown begin
2026-02-18 13:53:36.641 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.core.ServiceInfoUpdateService do shutdown begin
2026-02-18 13:53:36.641 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.core.ServiceInfoUpdateService do shutdown stop
2026-02-18 13:53:36.642 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.core.ServerListManager do shutdown begin
2026-02-18 13:53:36.642 [com.alibaba.nacos.client.naming.grpc.redo.0] [] INFO com.alibaba.nacos.client.naming - Redo instance operation REMOVE for DEFAULT_GROUP@@fund-file
2026-02-18 13:53:36.643 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.core.ServerListManager do shutdown stop
2026-02-18 13:53:36.644 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.remote.http.NamingHttpClientProxy do shutdown begin
2026-02-18 13:53:36.644 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.remote.http.NamingHttpClientProxy do shutdown stop
2026-02-18 13:53:36.645 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - Shutdown naming grpc client proxy for uuid->5d8401a5-dd76-4c42-94b7-0ea16d5b28f8
2026-02-18 13:53:36.645 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - Shutdown grpc redo service executor java.util.concurrent.ScheduledThreadPoolExecutor@447543ee[Running, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 1625]
2026-02-18 13:53:36.646 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.common.remote.client - Shutdown rpc client, set status to shutdown
2026-02-18 13:53:36.647 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.common.remote.client - Shutdown client event executor java.util.concurrent.ScheduledThreadPoolExecutor@220cda54[Running, pool size = 2, active threads = 2, queued tasks = 0, completed tasks = 0]
2026-02-18 13:53:36.647 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.common.remote.client - Close current connection 1771389139511_127.0.0.1_57868
2026-02-18 13:53:36.649 [nacos-grpc-client-executor-localhost-1228] [] INFO c.a.nacos.common.remote.client.grpc.GrpcClient - [1771389139511_127.0.0.1_57868]Ignore complete event,isRunning:false,isAbandon=false
2026-02-18 13:53:36.686 [SpringApplicationShutdownHook] [] INFO c.a.nacos.common.remote.client.grpc.GrpcClient - Shutdown grpc executor java.util.concurrent.ThreadPoolExecutor@49de1505[Running, pool size = 6, active threads = 0, queued tasks = 0, completed tasks = 1229]
2026-02-18 13:53:36.686 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - shutdown and remove naming rpc client for uuid ->5d8401a5-dd76-4c42-94b7-0ea16d5b28f8
2026-02-18 13:53:36.688 [SpringApplicationShutdownHook] [] INFO c.a.n.client.auth.ram.identify.CredentialWatcher - [null] CredentialWatcher is stopped
2026-02-18 13:53:36.688 [SpringApplicationShutdownHook] [] INFO c.a.n.client.auth.ram.identify.CredentialService - [null] CredentialService is freed
2026-02-18 13:53:36.689 [SpringApplicationShutdownHook] [] INFO com.alibaba.nacos.client.naming - com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate do shutdown stop
2026-02-18 13:53:36.710 [SpringApplicationShutdownHook] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
2026-02-18 13:53:36.747 [SpringApplicationShutdownHook] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.