feat: 本地开发环境配置多租户路由
问题:fund-gateway 和 fund-sys 的 application.yml 缺少 tenant.routing 配置 修改内容: 1. fund-sys/application.yml - 添加 tenant.routing 配置 - 配置 VIP 租户列表 (TENANT_VIP_001, TENANT_VIP_002) - 配置共享服务列表 2. fund-gateway/application.yml - 添加 Nacos 服务发现配置 - 路由改为 lb:// 协议使用负载均衡 - 添加全局跨域配置 - 添加 tenant.routing 配置 - 添加负载均衡日志级别
This commit is contained in:
parent
8e4afcd1a5
commit
2765f3f265
Binary file not shown.
@ -17,6 +17,15 @@ spring:
|
|||||||
compatibility-verifier:
|
compatibility-verifier:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
# Nacos 服务发现
|
||||||
|
nacos:
|
||||||
|
discovery:
|
||||||
|
server-addr: localhost:8848
|
||||||
|
namespace: fund-platform
|
||||||
|
group: DEFAULT_GROUP
|
||||||
|
username: nacos
|
||||||
|
password: nacos
|
||||||
|
|
||||||
# Sentinel配置
|
# Sentinel配置
|
||||||
sentinel:
|
sentinel:
|
||||||
transport:
|
transport:
|
||||||
@ -24,6 +33,12 @@ spring:
|
|||||||
port: 8719 # Sentinel客户端端口
|
port: 8719 # Sentinel客户端端口
|
||||||
eager: true # 服务启动时立即初始化
|
eager: true # 服务启动时立即初始化
|
||||||
|
|
||||||
|
# 负载均衡配置
|
||||||
|
loadbalancer:
|
||||||
|
enabled: true
|
||||||
|
cache:
|
||||||
|
enabled: false # 开发环境禁用缓存便于调试
|
||||||
|
|
||||||
gateway:
|
gateway:
|
||||||
# 默认限流配置
|
# 默认限流配置
|
||||||
default-filters:
|
default-filters:
|
||||||
@ -33,10 +48,20 @@ spring:
|
|||||||
redis-rate-limiter.burstCapacity: 200 # 令牌桶最大容量
|
redis-rate-limiter.burstCapacity: 200 # 令牌桶最大容量
|
||||||
key-resolver: "#{@ipKeyResolver}"
|
key-resolver: "#{@ipKeyResolver}"
|
||||||
|
|
||||||
|
# 全局跨域配置
|
||||||
|
globalcors:
|
||||||
|
cors-configurations:
|
||||||
|
'[/**]':
|
||||||
|
allowedOriginPatterns: "*"
|
||||||
|
allowedMethods: "*"
|
||||||
|
allowedHeaders: "*"
|
||||||
|
allowCredentials: true
|
||||||
|
maxAge: 3600
|
||||||
|
|
||||||
routes:
|
routes:
|
||||||
# 系统管理服务
|
# 系统管理服务 (使用负载均衡)
|
||||||
- id: fund-sys
|
- id: fund-sys
|
||||||
uri: http://localhost:8100
|
uri: lb://fund-sys
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/sys/**
|
- Path=/sys/**
|
||||||
filters:
|
filters:
|
||||||
@ -44,7 +69,7 @@ spring:
|
|||||||
|
|
||||||
# 客户管理服务
|
# 客户管理服务
|
||||||
- id: fund-cust
|
- id: fund-cust
|
||||||
uri: http://localhost:8200
|
uri: lb://fund-cust
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/cust/**
|
- Path=/cust/**
|
||||||
filters:
|
filters:
|
||||||
@ -52,7 +77,7 @@ spring:
|
|||||||
|
|
||||||
# 项目管理服务
|
# 项目管理服务
|
||||||
- id: fund-proj
|
- id: fund-proj
|
||||||
uri: http://localhost:8120
|
uri: lb://fund-proj
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/proj/**
|
- Path=/proj/**
|
||||||
filters:
|
filters:
|
||||||
@ -60,7 +85,7 @@ spring:
|
|||||||
|
|
||||||
# 用款申请服务
|
# 用款申请服务
|
||||||
- id: fund-req
|
- id: fund-req
|
||||||
uri: http://localhost:8800
|
uri: lb://fund-req
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/req/**
|
- Path=/req/**
|
||||||
filters:
|
filters:
|
||||||
@ -68,7 +93,7 @@ spring:
|
|||||||
|
|
||||||
# 支出管理服务
|
# 支出管理服务
|
||||||
- id: fund-exp
|
- id: fund-exp
|
||||||
uri: http://localhost:8140
|
uri: lb://fund-exp
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/exp/**
|
- Path=/exp/**
|
||||||
filters:
|
filters:
|
||||||
@ -76,7 +101,7 @@ spring:
|
|||||||
|
|
||||||
# 收款管理服务
|
# 收款管理服务
|
||||||
- id: fund-receipt
|
- id: fund-receipt
|
||||||
uri: http://localhost:8150
|
uri: lb://fund-receipt
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/receipt/**
|
- Path=/receipt/**
|
||||||
filters:
|
filters:
|
||||||
@ -84,7 +109,7 @@ spring:
|
|||||||
|
|
||||||
# 报表服务
|
# 报表服务
|
||||||
- id: fund-report
|
- id: fund-report
|
||||||
uri: http://localhost:8700
|
uri: lb://fund-report
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/report/**
|
- Path=/report/**
|
||||||
filters:
|
filters:
|
||||||
@ -92,7 +117,7 @@ spring:
|
|||||||
|
|
||||||
# 文件服务
|
# 文件服务
|
||||||
- id: fund-file
|
- id: fund-file
|
||||||
uri: http://localhost:8600
|
uri: lb://fund-file
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/file/**
|
- Path=/file/**
|
||||||
filters:
|
filters:
|
||||||
@ -101,3 +126,31 @@ spring:
|
|||||||
logging:
|
logging:
|
||||||
level:
|
level:
|
||||||
org.springframework.cloud.gateway: DEBUG
|
org.springframework.cloud.gateway: DEBUG
|
||||||
|
com.fundplatform.common.loadbalancer: DEBUG
|
||||||
|
|
||||||
|
# 多租户路由配置
|
||||||
|
tenant:
|
||||||
|
routing:
|
||||||
|
enabled: true
|
||||||
|
tenant-header: X-Tenant-Id
|
||||||
|
tenant-group-header: X-Tenant-Group
|
||||||
|
group-separator: TENANT_
|
||||||
|
default-tenant-id: "1"
|
||||||
|
shared-services:
|
||||||
|
- fund-gateway
|
||||||
|
- fund-report
|
||||||
|
- fund-file
|
||||||
|
services:
|
||||||
|
fund-sys:
|
||||||
|
vip-tenants:
|
||||||
|
- TENANT_VIP_001
|
||||||
|
- TENANT_VIP_002
|
||||||
|
fallback-to-shared: true
|
||||||
|
fund-cust:
|
||||||
|
vip-tenants:
|
||||||
|
- TENANT_VIP_001
|
||||||
|
fallback-to-shared: true
|
||||||
|
fund-proj:
|
||||||
|
vip-tenants:
|
||||||
|
- TENANT_VIP_001
|
||||||
|
fallback-to-shared: true
|
||||||
|
|||||||
@ -17,6 +17,15 @@ spring:
|
|||||||
compatibility-verifier:
|
compatibility-verifier:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
# Nacos 服务发现
|
||||||
|
nacos:
|
||||||
|
discovery:
|
||||||
|
server-addr: localhost:8848
|
||||||
|
namespace: fund-platform
|
||||||
|
group: DEFAULT_GROUP
|
||||||
|
username: nacos
|
||||||
|
password: nacos
|
||||||
|
|
||||||
# Sentinel配置
|
# Sentinel配置
|
||||||
sentinel:
|
sentinel:
|
||||||
transport:
|
transport:
|
||||||
@ -24,6 +33,12 @@ spring:
|
|||||||
port: 8719 # Sentinel客户端端口
|
port: 8719 # Sentinel客户端端口
|
||||||
eager: true # 服务启动时立即初始化
|
eager: true # 服务启动时立即初始化
|
||||||
|
|
||||||
|
# 负载均衡配置
|
||||||
|
loadbalancer:
|
||||||
|
enabled: true
|
||||||
|
cache:
|
||||||
|
enabled: false # 开发环境禁用缓存便于调试
|
||||||
|
|
||||||
gateway:
|
gateway:
|
||||||
# 默认限流配置
|
# 默认限流配置
|
||||||
default-filters:
|
default-filters:
|
||||||
@ -33,10 +48,20 @@ spring:
|
|||||||
redis-rate-limiter.burstCapacity: 200 # 令牌桶最大容量
|
redis-rate-limiter.burstCapacity: 200 # 令牌桶最大容量
|
||||||
key-resolver: "#{@ipKeyResolver}"
|
key-resolver: "#{@ipKeyResolver}"
|
||||||
|
|
||||||
|
# 全局跨域配置
|
||||||
|
globalcors:
|
||||||
|
cors-configurations:
|
||||||
|
'[/**]':
|
||||||
|
allowedOriginPatterns: "*"
|
||||||
|
allowedMethods: "*"
|
||||||
|
allowedHeaders: "*"
|
||||||
|
allowCredentials: true
|
||||||
|
maxAge: 3600
|
||||||
|
|
||||||
routes:
|
routes:
|
||||||
# 系统管理服务
|
# 系统管理服务 (使用负载均衡)
|
||||||
- id: fund-sys
|
- id: fund-sys
|
||||||
uri: http://localhost:8100
|
uri: lb://fund-sys
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/sys/**
|
- Path=/sys/**
|
||||||
filters:
|
filters:
|
||||||
@ -44,7 +69,7 @@ spring:
|
|||||||
|
|
||||||
# 客户管理服务
|
# 客户管理服务
|
||||||
- id: fund-cust
|
- id: fund-cust
|
||||||
uri: http://localhost:8200
|
uri: lb://fund-cust
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/cust/**
|
- Path=/cust/**
|
||||||
filters:
|
filters:
|
||||||
@ -52,7 +77,7 @@ spring:
|
|||||||
|
|
||||||
# 项目管理服务
|
# 项目管理服务
|
||||||
- id: fund-proj
|
- id: fund-proj
|
||||||
uri: http://localhost:8120
|
uri: lb://fund-proj
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/proj/**
|
- Path=/proj/**
|
||||||
filters:
|
filters:
|
||||||
@ -60,7 +85,7 @@ spring:
|
|||||||
|
|
||||||
# 用款申请服务
|
# 用款申请服务
|
||||||
- id: fund-req
|
- id: fund-req
|
||||||
uri: http://localhost:8800
|
uri: lb://fund-req
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/req/**
|
- Path=/req/**
|
||||||
filters:
|
filters:
|
||||||
@ -68,7 +93,7 @@ spring:
|
|||||||
|
|
||||||
# 支出管理服务
|
# 支出管理服务
|
||||||
- id: fund-exp
|
- id: fund-exp
|
||||||
uri: http://localhost:8140
|
uri: lb://fund-exp
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/exp/**
|
- Path=/exp/**
|
||||||
filters:
|
filters:
|
||||||
@ -76,7 +101,7 @@ spring:
|
|||||||
|
|
||||||
# 收款管理服务
|
# 收款管理服务
|
||||||
- id: fund-receipt
|
- id: fund-receipt
|
||||||
uri: http://localhost:8150
|
uri: lb://fund-receipt
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/receipt/**
|
- Path=/receipt/**
|
||||||
filters:
|
filters:
|
||||||
@ -84,7 +109,7 @@ spring:
|
|||||||
|
|
||||||
# 报表服务
|
# 报表服务
|
||||||
- id: fund-report
|
- id: fund-report
|
||||||
uri: http://localhost:8700
|
uri: lb://fund-report
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/report/**
|
- Path=/report/**
|
||||||
filters:
|
filters:
|
||||||
@ -92,7 +117,7 @@ spring:
|
|||||||
|
|
||||||
# 文件服务
|
# 文件服务
|
||||||
- id: fund-file
|
- id: fund-file
|
||||||
uri: http://localhost:8600
|
uri: lb://fund-file
|
||||||
predicates:
|
predicates:
|
||||||
- Path=/file/**
|
- Path=/file/**
|
||||||
filters:
|
filters:
|
||||||
@ -101,3 +126,31 @@ spring:
|
|||||||
logging:
|
logging:
|
||||||
level:
|
level:
|
||||||
org.springframework.cloud.gateway: DEBUG
|
org.springframework.cloud.gateway: DEBUG
|
||||||
|
com.fundplatform.common.loadbalancer: DEBUG
|
||||||
|
|
||||||
|
# 多租户路由配置
|
||||||
|
tenant:
|
||||||
|
routing:
|
||||||
|
enabled: true
|
||||||
|
tenant-header: X-Tenant-Id
|
||||||
|
tenant-group-header: X-Tenant-Group
|
||||||
|
group-separator: TENANT_
|
||||||
|
default-tenant-id: "1"
|
||||||
|
shared-services:
|
||||||
|
- fund-gateway
|
||||||
|
- fund-report
|
||||||
|
- fund-file
|
||||||
|
services:
|
||||||
|
fund-sys:
|
||||||
|
vip-tenants:
|
||||||
|
- TENANT_VIP_001
|
||||||
|
- TENANT_VIP_002
|
||||||
|
fallback-to-shared: true
|
||||||
|
fund-cust:
|
||||||
|
vip-tenants:
|
||||||
|
- TENANT_VIP_001
|
||||||
|
fallback-to-shared: true
|
||||||
|
fund-proj:
|
||||||
|
vip-tenants:
|
||||||
|
- TENANT_VIP_001
|
||||||
|
fallback-to-shared: true
|
||||||
|
|||||||
@ -76,3 +76,22 @@ logging:
|
|||||||
pattern:
|
pattern:
|
||||||
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
||||||
|
|
||||||
|
# 多租户路由配置
|
||||||
|
tenant:
|
||||||
|
routing:
|
||||||
|
enabled: true
|
||||||
|
tenant-header: X-Tenant-Id
|
||||||
|
tenant-group-header: X-Tenant-Group
|
||||||
|
group-separator: TENANT_
|
||||||
|
default-tenant-id: "1"
|
||||||
|
shared-services:
|
||||||
|
- fund-gateway
|
||||||
|
- fund-report
|
||||||
|
- fund-file
|
||||||
|
services:
|
||||||
|
fund-sys:
|
||||||
|
vip-tenants:
|
||||||
|
- TENANT_VIP_001
|
||||||
|
- TENANT_VIP_002
|
||||||
|
fallback-to-shared: true
|
||||||
|
|
||||||
|
|||||||
@ -76,3 +76,22 @@ logging:
|
|||||||
pattern:
|
pattern:
|
||||||
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
||||||
|
|
||||||
|
# 多租户路由配置
|
||||||
|
tenant:
|
||||||
|
routing:
|
||||||
|
enabled: true
|
||||||
|
tenant-header: X-Tenant-Id
|
||||||
|
tenant-group-header: X-Tenant-Group
|
||||||
|
group-separator: TENANT_
|
||||||
|
default-tenant-id: "1"
|
||||||
|
shared-services:
|
||||||
|
- fund-gateway
|
||||||
|
- fund-report
|
||||||
|
- fund-file
|
||||||
|
services:
|
||||||
|
fund-sys:
|
||||||
|
vip-tenants:
|
||||||
|
- TENANT_VIP_001
|
||||||
|
- TENANT_VIP_002
|
||||||
|
fallback-to-shared: true
|
||||||
|
|
||||||
|
|||||||
@ -1066,3 +1066,39 @@ java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBea
|
|||||||
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
at java.base/java.lang.Thread.run(Thread.java:1583)
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-02-19 21:06:06.988 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
||||||
|
2026-02-19 21:06:06.997 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
|
2026-02-19 21:06:06.998 [scheduling-1] [] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task
|
||||||
|
java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBean.getActiveConnections()" because the return value of "com.zaxxer.hikari.HikariDataSource.getHikariPoolMXBean()" is null
|
||||||
|
at com.fundplatform.sys.config.HikariMonitorConfig.monitorHikariPool(HikariMonitorConfig.java:38)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
|
||||||
|
at io.micrometer.observation.Observation.observe(Observation.java:499)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
|
||||||
|
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
|
||||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
|
||||||
|
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-02-19 21:11:06.988 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
||||||
|
2026-02-19 21:11:06.996 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
|
2026-02-19 21:11:06.996 [scheduling-1] [] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task
|
||||||
|
java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBean.getActiveConnections()" because the return value of "com.zaxxer.hikari.HikariDataSource.getHikariPoolMXBean()" is null
|
||||||
|
at com.fundplatform.sys.config.HikariMonitorConfig.monitorHikariPool(HikariMonitorConfig.java:38)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
|
||||||
|
at io.micrometer.observation.Observation.observe(Observation.java:499)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
|
||||||
|
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
|
||||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
|
||||||
|
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
|||||||
@ -1030,3 +1030,39 @@ java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBea
|
|||||||
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
at java.base/java.lang.Thread.run(Thread.java:1583)
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-02-19 21:04:07.541 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
||||||
|
2026-02-19 21:04:07.550 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
|
2026-02-19 21:04:07.550 [scheduling-1] [] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task
|
||||||
|
java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBean.getActiveConnections()" because the return value of "com.zaxxer.hikari.HikariDataSource.getHikariPoolMXBean()" is null
|
||||||
|
at com.fundplatform.sys.config.HikariMonitorConfig.monitorHikariPool(HikariMonitorConfig.java:38)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
|
||||||
|
at io.micrometer.observation.Observation.observe(Observation.java:499)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
|
||||||
|
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
|
||||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
|
||||||
|
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-02-19 21:09:07.541 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
||||||
|
2026-02-19 21:09:07.550 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
|
2026-02-19 21:09:07.551 [scheduling-1] [] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task
|
||||||
|
java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBean.getActiveConnections()" because the return value of "com.zaxxer.hikari.HikariDataSource.getHikariPoolMXBean()" is null
|
||||||
|
at com.fundplatform.sys.config.HikariMonitorConfig.monitorHikariPool(HikariMonitorConfig.java:38)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
|
||||||
|
at io.micrometer.observation.Observation.observe(Observation.java:499)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
|
||||||
|
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
|
||||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
|
||||||
|
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
|||||||
@ -1374,3 +1374,67 @@ java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBea
|
|||||||
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
at java.base/java.lang.Thread.run(Thread.java:1583)
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-02-19 21:04:07.550 [scheduling-1] [] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task
|
||||||
|
java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBean.getActiveConnections()" because the return value of "com.zaxxer.hikari.HikariDataSource.getHikariPoolMXBean()" is null
|
||||||
|
at com.fundplatform.sys.config.HikariMonitorConfig.monitorHikariPool(HikariMonitorConfig.java:38)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
|
||||||
|
at io.micrometer.observation.Observation.observe(Observation.java:499)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
|
||||||
|
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
|
||||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
|
||||||
|
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-02-19 21:06:06.998 [scheduling-1] [] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task
|
||||||
|
java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBean.getActiveConnections()" because the return value of "com.zaxxer.hikari.HikariDataSource.getHikariPoolMXBean()" is null
|
||||||
|
at com.fundplatform.sys.config.HikariMonitorConfig.monitorHikariPool(HikariMonitorConfig.java:38)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
|
||||||
|
at io.micrometer.observation.Observation.observe(Observation.java:499)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
|
||||||
|
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
|
||||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
|
||||||
|
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-02-19 21:09:07.551 [scheduling-1] [] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task
|
||||||
|
java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBean.getActiveConnections()" because the return value of "com.zaxxer.hikari.HikariDataSource.getHikariPoolMXBean()" is null
|
||||||
|
at com.fundplatform.sys.config.HikariMonitorConfig.monitorHikariPool(HikariMonitorConfig.java:38)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
|
||||||
|
at io.micrometer.observation.Observation.observe(Observation.java:499)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
|
||||||
|
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
|
||||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
|
||||||
|
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-02-19 21:11:06.996 [scheduling-1] [] ERROR o.s.s.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task
|
||||||
|
java.lang.NullPointerException: Cannot invoke "com.zaxxer.hikari.HikariPoolMXBean.getActiveConnections()" because the return value of "com.zaxxer.hikari.HikariDataSource.getHikariPoolMXBean()" is null
|
||||||
|
at com.fundplatform.sys.config.HikariMonitorConfig.monitorHikariPool(HikariMonitorConfig.java:38)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
|
||||||
|
at io.micrometer.observation.Observation.observe(Observation.java:499)
|
||||||
|
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
|
||||||
|
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
|
||||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
|
||||||
|
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
|||||||
@ -316,3 +316,11 @@
|
|||||||
2026-02-19 20:59:07.544 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
2026-02-19 20:59:07.544 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
2026-02-19 21:01:06.988 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
2026-02-19 21:01:06.988 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
||||||
2026-02-19 21:01:06.988 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
2026-02-19 21:01:06.988 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
|
2026-02-19 21:04:07.541 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
||||||
|
2026-02-19 21:04:07.550 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
|
2026-02-19 21:06:06.988 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
||||||
|
2026-02-19 21:06:06.997 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
|
2026-02-19 21:09:07.541 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
||||||
|
2026-02-19 21:09:07.550 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
|
2026-02-19 21:11:06.988 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - === HikariCP 连接池状态 ===
|
||||||
|
2026-02-19 21:11:06.996 [scheduling-1] [] INFO com.fundplatform.sys.config.HikariMonitorConfig - 连接池名称: FundSysHikariPool
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user