diff --git a/.env b/.env index 5c097ebb..fbc7289c 100644 --- a/.env +++ b/.env @@ -21,12 +21,9 @@ POSTGRES_PORT=5432:5432 REDIS_PORT=6379:6379 # --- KEYCLOAK (Identity Provider) --- -# Admin Login für die Konsole KC_ADMIN_USER=kc-admin KC_ADMIN_PASSWORD=kc-password -# Hostname (Wichtig für Redirects) KC_HOSTNAME=localhost -# Port Mapping KC_PORT=8180:8080 # --- PGADMIN (DB GUI) --- @@ -46,10 +43,10 @@ GF_PORT=3000:3000 CONSUL_PORT=8500:8500 # --- API GATEWAY --- -# Der Port, der nach außen für Clients (Web App) offen ist -GATEWAY_PORT=8081 -# Debug Port für IntelliJ (Remote JVM Debug) -GATEWAY_DEBUG_PORT=5005 +GATEWAY_PORT=8081:8081 +GATEWAY_DEBUG_PORT=5005:5005 +GATEWAY_SERVER_PORT=8081 # --- MICROSERVICES --- PING_SERVICE_PORT=8082:8082 +PING_DEBUG_PORT=5006:5006 diff --git a/compose.yaml b/compose.yaml index f07807a4..7338594b 100644 --- a/compose.yaml +++ b/compose.yaml @@ -168,13 +168,14 @@ services: GRADLE_VERSION: 9.1.0 JAVA_VERSION: 21 VERSION: 1.0.0 - BUILD_DATE: "2025-11-20" + BUILD_DATE: "2025-11-21" container_name: ${COMPOSE_PROJECT_NAME}-gateway restart: no ports: - "${GATEWAY_PORT}" - "${GATEWAY_DEBUG_PORT}" # Für Remote Debugging environment: + SERVER_PORT: ${GATEWAY_SERVER_PORT} SPRING_PROFILES_ACTIVE: docker DEBUG: "true" # --- VERBINDUNGEN --- @@ -213,12 +214,12 @@ services: GRADLE_VERSION: 9.1.0 JAVA_VERSION: 21 VERSION: 1.0.0 - BUILD_DATE: "2025-11-20" + BUILD_DATE: "2025-11-21" container_name: ${COMPOSE_PROJECT_NAME}-ping-service restart: no # "${RESTART_POLICY:-unless-stopped}" ports: - "${PING_SERVICE_PORT}" - - "5006:5005" # Debug Port + - "${PING_DEBUG_PORT}" environment: SPRING_PROFILES_ACTIVE: docker DEBUG: "true" @@ -241,6 +242,13 @@ services: # Wir nutzen den Service-Namen, genau wie bei Postgres SPRING_DATA_REDIS_HOST: ${COMPOSE_PROJECT_NAME}-redis SPRING_DATA_REDIS_PORT: 6379 + depends_on: + consul: + condition: service_healthy + postgres: + condition: service_healthy + keycloak: + condition: service_healthy networks: - meldestelle-network diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9996b89e..270e2654 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,6 +18,7 @@ kotlinx-coroutines = "1.10.2" # --- Spring Ecosystem --- springBoot = "3.5.6" springCloud = "2025.0.0" +springCloudGateway = "4.3.0" springDependencyManagement = "1.1.7" springdoc = "2.8.13" diff --git a/infrastructure/gateway/src/main/resources/application.yml b/infrastructure/gateway/src/main/resources/application.yml index 38890930..e3d4fdeb 100644 --- a/infrastructure/gateway/src/main/resources/application.yml +++ b/infrastructure/gateway/src/main/resources/application.yml @@ -1,6 +1,6 @@ # Port, auf dem das Gateway läuft server: - port: ${GATEWAY_PORT:8081} + port: ${SERVER_PORT:8081} # Optimierte Netty-Konfiguration für reaktive Anwendungen netty: connection-timeout: 5s @@ -74,91 +74,24 @@ spring: value: no-cache, no-store, must-revalidate routes: -# ============================================================== -# --- Gateway-Info-Route (optional) --- -# ============================================================== + # ============================================================== + # --- Gateway-Info-Route (optional) --- + # ============================================================== - id: gateway-info-route uri: http://localhost:${server.port} predicates: - - Path=/ - Method=GET filters: - - SetStatus=200 - - SetResponseHeader=Content-Type,application/json + - name: setStatus + args: + status: 200 + - name: setResponseHeader + args: + Content-Type: application/json -# ============================================================== -# --- Members-Service-Integration (optional) --- -# ============================================================== -# - id: members-service-route -# uri: lb://members-service -# predicates: -# - Path=/api/members/** -# filters: -# - StripPrefix=1 -# - name: CircuitBreaker -# args: -# name: membersCircuitBreaker -# fallbackUri: forward:/fallback/members - -# ============================================================== -# --- Horses-Service-Integration (optional) --- -# ============================================================== -# - id: horses-service-route -# uri: lb://horses-service -# predicates: -# - Path=/api/horses/** -# filters: -# - StripPrefix=1 -# - name: CircuitBreaker -# args: -# name: horsesCircuitBreaker -# fallbackUri: forward:/fallback/horses - -# ============================================================== -# --- Events-Service-Integration (optional) --- -# ============================================================== -# - id: events-service-route -# uri: lb://events-service -# predicates: -# - Path=/api/events/** -# filters: -# - StripPrefix=1 -# - name: CircuitBreaker -# args: -# name: eventsCircuitBreaker -# fallbackUri: forward:/fallback/events - -# ============================================================== -# --- Masterdata-Service-Integration (optional) --- -# ============================================================== -# - id: masterdata-service-route -# uri: lb://masterdata-service -# predicates: -# - Path=/api/masterdata/** -# filters: -# - StripPrefix=1 -# - name: CircuitBreaker -# args: -# name: masterdataCircuitBreaker -# fallbackUri: forward:/fallback/masterdata - -# ============================================================== -# --- Auth-Service-Integration (optional) --- -# ============================================================== -# - id: auth-service-route -# uri: lb://auth-service -# predicates: -# - Path=/api/auth/** -# filters: -# - StripPrefix=1 -# - name: CircuitBreaker -# args: -# name: authCircuitBreaker -# fallbackUri: forward:/fallback/auth - -# ============================================================== -# --- Ping-Service-Integration (optional) --- -# ============================================================== + # ============================================================== + # --- Ping-Service-Integration (optional) --- + # ============================================================== - id: ping-service-route uri: lb://ping-service predicates: @@ -166,6 +99,75 @@ spring: filters: - StripPrefix=1 + # ============================================================== + # --- Members-Service-Integration (optional) --- + # ============================================================== + # - id: members-service-route + # uri: lb://members-service + # predicates: + # - Path=/api/members/** + # filters: + # - StripPrefix=1 + # - name: CircuitBreaker + # args: + # name: membersCircuitBreaker + # fallbackUri: forward:/fallback/members + + # ============================================================== + # --- Horses-Service-Integration (optional) --- + # ============================================================== + # - id: horses-service-route + # uri: lb://horses-service + # predicates: + # - Path=/api/horses/** + # filters: + # - StripPrefix=1 + # - name: CircuitBreaker + # args: + # name: horsesCircuitBreaker + # fallbackUri: forward:/fallback/horses + + # ============================================================== + # --- Events-Service-Integration (optional) --- + # ============================================================== + # - id: events-service-route + # uri: lb://events-service + # predicates: + # - Path=/api/events/** + # filters: + # - StripPrefix=1 + # - name: CircuitBreaker + # args: + # name: eventsCircuitBreaker + # fallbackUri: forward:/fallback/events + + # ============================================================== + # --- Masterdata-Service-Integration (optional) --- + # ============================================================== + # - id: masterdata-service-route + # uri: lb://masterdata-service + # predicates: + # - Path=/api/masterdata/** + # filters: + # - StripPrefix=1 + # - name: CircuitBreaker + # args: + # name: masterdataCircuitBreaker + # fallbackUri: forward:/fallback/masterdata + + # ============================================================== + # --- Auth-Service-Integration (optional) --- + # ============================================================== + # - id: auth-service-route + # uri: lb://auth-service + # predicates: + # - Path=/api/auth/** + # filters: + # - StripPrefix=1 + # - name: CircuitBreaker + # args: + # name: authCircuitBreaker + # fallbackUri: forward:/fallback/auth # Circuit Breaker Konfiguration resilience4j: circuitbreaker: diff --git a/logs/gateway.log b/logs/gateway.log index a661a680..375226e5 100644 --- a/logs/gateway.log +++ b/logs/gateway.log @@ -1,32 +1,80 @@ -2025-11-20 20:23:01.705 [background-preinit] INFO [] o.h.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.3.Final -2025-11-20 20:23:01.758 [main] INFO [] a.m.i.gateway.GatewayApplicationKt - Starting GatewayApplicationKt using Java 21.0.9 with PID 144150 (/home/stefan-mo/WsMeldestelle/Meldestelle/infrastructure/gateway/build/classes/kotlin/main started by stefan-mo in /home/stefan-mo/WsMeldestelle/Meldestelle) -2025-11-20 20:23:01.758 [main] DEBUG [] a.m.i.gateway.GatewayApplicationKt - Running with Spring Boot v3.5.6, Spring v6.2.11 -2025-11-20 20:23:01.759 [main] INFO [] a.m.i.gateway.GatewayApplicationKt - The following 1 profile is active: "dev" -2025-11-20 20:23:03.314 [main] INFO [] o.s.cloud.context.scope.GenericScope - BeanFactory id=4eb90187-1826-32ce-9dc7-fa80cb000915 -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [After] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Before] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Between] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Cookie] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Header] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Host] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Method] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Path] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Query] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [ReadBody] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [RemoteAddr] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [XForwardedRemoteAddr] -2025-11-20 20:23:05.564 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Weight] -2025-11-20 20:23:05.565 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [CloudFoundryRouteService] -2025-11-20 20:23:06.235 [main] INFO [] o.s.b.a.e.web.EndpointLinksResolver - Exposing 6 endpoints beneath base path '/actuator' -2025-11-20 20:23:06.836 [main] WARN [] o.s.c.l.c.LoadBalancerCacheAutoConfiguration$LoadBalancerCaffeineWarnLogger - Spring Cloud LoadBalancer is currently working with the default cache. While this cache implementation is useful for development and tests, it's recommended to use Caffeine cache in production.You can switch to using Caffeine cache, by adding it and org.springframework.cache.caffeine.CaffeineCacheManager to the classpath. -2025-11-20 20:23:06.927 [catalogWatchTaskScheduler-1] ERROR [] o.s.c.c.discovery.ConsulCatalogWatch - Error watching Consul CatalogServices -com.ecwid.consul.transport.TransportException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8500 [localhost/127.0.0.1] failed: Verbindungsaufbau abgelehnt - at com.ecwid.consul.transport.AbstractHttpTransport.executeRequest(AbstractHttpTransport.java:83) - at com.ecwid.consul.transport.AbstractHttpTransport.makeGetRequest(AbstractHttpTransport.java:36) - at com.ecwid.consul.v1.ConsulRawClient.makeGetRequest(ConsulRawClient.java:139) - at com.ecwid.consul.v1.catalog.CatalogConsulClient.getCatalogServices(CatalogConsulClient.java:143) - at com.ecwid.consul.v1.ConsulClient.getCatalogServices(ConsulClient.java:400) - at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:131) +2025-11-21 21:12:18.822 [background-preinit] INFO [] o.h.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.3.Final +2025-11-21 21:12:18.862 [main] INFO [] a.m.i.gateway.GatewayApplicationKt - Starting GatewayApplicationKt using Java 21.0.9 with PID 108122 (/home/stefan-mo/WsMeldestelle/Meldestelle/infrastructure/gateway/build/classes/kotlin/main started by stefan-mo in /home/stefan-mo/WsMeldestelle/Meldestelle) +2025-11-21 21:12:18.863 [main] DEBUG [] a.m.i.gateway.GatewayApplicationKt - Running with Spring Boot v3.5.6, Spring v6.2.11 +2025-11-21 21:12:18.863 [main] INFO [] a.m.i.gateway.GatewayApplicationKt - The following 1 profile is active: "dev" +2025-11-21 21:12:20.505 [main] INFO [] o.s.cloud.context.scope.GenericScope - BeanFactory id=4eb90187-1826-32ce-9dc7-fa80cb000915 +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [After] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Before] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Between] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Cookie] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Header] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Host] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Method] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Path] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Query] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [ReadBody] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [RemoteAddr] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [XForwardedRemoteAddr] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [Weight] +2025-11-21 21:12:22.902 [main] INFO [] o.s.c.g.r.RouteDefinitionRouteLocator - Loaded RoutePredicateFactory [CloudFoundryRouteService] +2025-11-21 21:12:23.565 [main] INFO [] o.s.b.a.e.web.EndpointLinksResolver - Exposing 6 endpoints beneath base path '/actuator' +2025-11-21 21:12:24.145 [main] WARN [] o.s.c.l.c.LoadBalancerCacheAutoConfiguration$LoadBalancerCaffeineWarnLogger - Spring Cloud LoadBalancer is currently working with the default cache. While this cache implementation is useful for development and tests, it's recommended to use Caffeine cache in production.You can switch to using Caffeine cache, by adding it and org.springframework.cache.caffeine.CaffeineCacheManager to the classpath. +2025-11-21 21:12:24.272 [main] INFO [] o.s.b.w.e.netty.NettyWebServer - Netty started on port 8080 (http) +2025-11-21 21:12:24.275 [main] INFO [] o.s.c.c.s.ConsulServiceRegistry - Registering service with consul: NewService{id='meldestelle-8080-983624d5-d6e3-4bb6-b481-07ac4519ee7b', name='meldestelle', tags=[], address='10.0.0.18', meta={secure=false}, port=8080, enableTagOverride=null, check=Check{script='null', dockerContainerID='null', shell='null', interval='10s', ttl='null', http='http://10.0.0.18:8080/actuator/health', method='null', header={}, tcp='null', timeout='null', deregisterCriticalServiceAfter='null', tlsSkipVerify=null, status='null', grpc='null', grpcUseTLS=null}, checks=null} +2025-11-21 21:12:24.309 [catalogWatchTaskScheduler-1] ERROR [] o.s.c.g.route.CachingRouteLocator - Refresh routes error !!! +java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) 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) @@ -34,45 +82,59 @@ com.ecwid.consul.transport.TransportException: org.apache.http.conn.HttpHostConn 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) -Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8500 [localhost/127.0.0.1] failed: Verbindungsaufbau abgelehnt - at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156) - at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376) - at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393) - at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) - at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) - at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) - at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) - at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:221) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:165) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:140) - at com.ecwid.consul.transport.AbstractHttpTransport.executeRequest(AbstractHttpTransport.java:70) - ... 12 common frames omitted -Caused by: java.net.ConnectException: Verbindungsaufbau abgelehnt - at java.base/sun.nio.ch.Net.pollConnect(Native Method) - at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:682) - at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542) - at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592) - at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) - at java.base/java.net.Socket.connect(Socket.java:751) - at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75) - at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) - ... 24 common frames omitted -2025-11-20 20:23:06.950 [main] INFO [] o.s.b.w.e.netty.NettyWebServer - Netty started on port 8081 (http) -2025-11-20 20:23:06.954 [main] INFO [] o.s.c.c.s.ConsulServiceRegistry - Registering service with consul: NewService{id='api-gateway-8081-1d97a298-8905-4f90-9f0e-f615710dea85', name='api-gateway', tags=[], address='10.0.0.18', meta={secure=false}, port=8081, enableTagOverride=null, check=Check{script='null', dockerContainerID='null', shell='null', interval='10s', ttl='null', http='http://10.0.0.18:8081/actuator/health', method='null', header={}, tcp='null', timeout='null', deregisterCriticalServiceAfter='null', tlsSkipVerify=null, status='null', grpc='null', grpcUseTLS=null}, checks=null} -2025-11-20 20:23:06.963 [main] ERROR [] o.s.c.c.s.ConsulServiceRegistry - Error registering service with consul: NewService{id='api-gateway-8081-1d97a298-8905-4f90-9f0e-f615710dea85', name='api-gateway', tags=[], address='10.0.0.18', meta={secure=false}, port=8081, enableTagOverride=null, check=Check{script='null', dockerContainerID='null', shell='null', interval='10s', ttl='null', http='http://10.0.0.18:8081/actuator/health', method='null', header={}, tcp='null', timeout='null', deregisterCriticalServiceAfter='null', tlsSkipVerify=null, status='null', grpc='null', grpcUseTLS=null}, checks=null} -com.ecwid.consul.transport.TransportException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8500 [localhost/127.0.0.1] failed: Verbindungsaufbau abgelehnt - at com.ecwid.consul.transport.AbstractHttpTransport.executeRequest(AbstractHttpTransport.java:83) - at com.ecwid.consul.transport.AbstractHttpTransport.makePutRequest(AbstractHttpTransport.java:49) - at com.ecwid.consul.v1.ConsulRawClient.makePutRequest(ConsulRawClient.java:163) - at com.ecwid.consul.v1.agent.AgentConsulClient.agentServiceRegister(AgentConsulClient.java:273) - at com.ecwid.consul.v1.ConsulClient.agentServiceRegister(ConsulClient.java:310) - at org.springframework.cloud.consul.serviceregistry.ConsulServiceRegistry.register(ConsulServiceRegistry.java:67) - at org.springframework.cloud.consul.serviceregistry.ConsulServiceRegistry.register(ConsulServiceRegistry.java:43) - at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.register(AbstractAutoServiceRegistration.java:264) - at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistration.register(ConsulAutoServiceRegistration.java:80) - at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.start(AbstractAutoServiceRegistration.java:156) +2025-11-21 21:12:24.309 [main] ERROR [] o.s.c.g.route.CachingRouteLocator - Refresh routes error !!! +java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:58) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.start(AbstractAutoServiceRegistration.java:169) at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistration.start(ConsulAutoServiceRegistration.java:70) at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistrationListener.onApplicationEvent(ConsulAutoServiceRegistrationListener.java:60) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) @@ -97,38 +159,126 @@ com.ecwid.consul.transport.TransportException: org.apache.http.conn.HttpHostConn at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) at at.mocode.infrastructure.gateway.GatewayApplicationKt.main(GatewayApplication.kt:13) -Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8500 [localhost/127.0.0.1] failed: Verbindungsaufbau abgelehnt - at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156) - at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376) - at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393) - at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) - at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) - at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) - at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) - at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:221) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:165) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:140) - at com.ecwid.consul.transport.AbstractHttpTransport.executeRequest(AbstractHttpTransport.java:70) - ... 33 common frames omitted -Caused by: java.net.ConnectException: Verbindungsaufbau abgelehnt - at java.base/sun.nio.ch.Net.pollConnect(Native Method) - at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:682) - at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542) - at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592) - at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) - at java.base/java.net.Socket.connect(Socket.java:751) - at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75) - at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) - ... 45 common frames omitted -2025-11-20 20:23:08.981 [main] WARN [] o.s.b.w.r.c.AnnotationConfigReactiveWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop' -2025-11-20 20:23:09.011 [main] INFO [] o.s.b.a.l.ConditionEvaluationReportLogger - - -Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. -2025-11-20 20:23:09.031 [main] ERROR [] o.s.boot.SpringApplication - Application run failed -org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop' - at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:408) +2025-11-21 21:12:24.319 [main] ERROR [] reactor.core.publisher.Operators - Operator called default onErrorDropped +reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus +Caused by: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68) + at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:54) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4425) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:65) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:44) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.CachingRouteLocator.handleRefreshError(CachingRouteLocator.java:126) + at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) + at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) + at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onError(MonoStreamCollector.java:149) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263) + at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) + at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:359) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerError(FluxMergeSequential.java:321) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onError(FluxMergeSequential.java:586) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:58) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.start(AbstractAutoServiceRegistration.java:169) + at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistration.start(ConsulAutoServiceRegistration.java:70) + at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistrationListener.onApplicationEvent(ConsulAutoServiceRegistrationListener.java:60) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.boot.web.reactive.context.WebServerManager.start(WebServerManager.java:57) + at org.springframework.boot.web.reactive.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:41) + at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:405) at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:394) at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:586) at java.base/java.lang.Iterable.forEach(Iterable.java:75) @@ -143,50 +293,1159 @@ org.springframework.context.ApplicationContextException: Failed to start bean 'w at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) at at.mocode.infrastructure.gateway.GatewayApplicationKt.main(GatewayApplication.kt:13) -Caused by: com.ecwid.consul.transport.TransportException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8500 [localhost/127.0.0.1] failed: Verbindungsaufbau abgelehnt - at com.ecwid.consul.transport.AbstractHttpTransport.executeRequest(AbstractHttpTransport.java:83) - at com.ecwid.consul.transport.AbstractHttpTransport.makePutRequest(AbstractHttpTransport.java:49) - at com.ecwid.consul.v1.ConsulRawClient.makePutRequest(ConsulRawClient.java:163) - at com.ecwid.consul.v1.agent.AgentConsulClient.agentServiceRegister(AgentConsulClient.java:273) - at com.ecwid.consul.v1.ConsulClient.agentServiceRegister(ConsulClient.java:310) - at org.springframework.cloud.consul.serviceregistry.ConsulServiceRegistry.register(ConsulServiceRegistry.java:67) - at org.springframework.cloud.consul.serviceregistry.ConsulServiceRegistry.register(ConsulServiceRegistry.java:43) - at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.register(AbstractAutoServiceRegistration.java:264) - at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistration.register(ConsulAutoServiceRegistration.java:80) - at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.start(AbstractAutoServiceRegistration.java:156) - at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistration.start(ConsulAutoServiceRegistration.java:70) - at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistrationListener.onApplicationEvent(ConsulAutoServiceRegistrationListener.java:60) +2025-11-21 21:12:24.319 [catalogWatchTaskScheduler-1] ERROR [] reactor.core.publisher.Operators - Operator called default onErrorDropped +reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus +Caused by: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68) + at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:54) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4425) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:65) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:44) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) - at org.springframework.boot.web.reactive.context.WebServerManager.start(WebServerManager.java:57) - at org.springframework.boot.web.reactive.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:41) - at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:405) - ... 14 common frames omitted -Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8500 [localhost/127.0.0.1] failed: Verbindungsaufbau abgelehnt - at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156) - at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376) - at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393) - at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) - at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) - at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) - at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) - at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:221) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:165) - at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:140) - at com.ecwid.consul.transport.AbstractHttpTransport.executeRequest(AbstractHttpTransport.java:70) - ... 33 common frames omitted -Caused by: java.net.ConnectException: Verbindungsaufbau abgelehnt - at java.base/sun.nio.ch.Net.pollConnect(Native Method) - at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:682) - at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542) - at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592) - at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) - at java.base/java.net.Socket.connect(Socket.java:751) - at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75) - at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) - ... 45 common frames omitted + at org.springframework.cloud.gateway.route.CachingRouteLocator.handleRefreshError(CachingRouteLocator.java:126) + at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) + at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) + at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onError(MonoStreamCollector.java:149) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263) + at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) + at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:359) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerError(FluxMergeSequential.java:321) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onError(FluxMergeSequential.java:586) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) +2025-11-21 21:12:24.321 [main] ERROR [] reactor.core.publisher.Operators - Operator called default onErrorDropped +reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus +Caused by: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68) + at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:54) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4425) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:65) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:44) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.CachingRouteLocator.handleRefreshError(CachingRouteLocator.java:126) + at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) + at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) + at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onError(MonoStreamCollector.java:149) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263) + at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) + at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:359) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerError(FluxMergeSequential.java:321) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onError(FluxMergeSequential.java:586) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) + Suppressed: java.lang.Exception: #block terminated with an error + at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) + at reactor.core.publisher.Flux.blockLast(Flux.java:2817) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.lambda$onApplicationEvent$3(WeightCalculatorWebFilter.java:156) + at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.ifAvailable(DefaultListableBeanFactory.java:2562) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.onApplicationEvent(WeightCalculatorWebFilter.java:156) + ... 21 common frames omitted +2025-11-21 21:12:24.320 [catalogWatchTaskScheduler-1] ERROR [] o.s.c.c.discovery.ConsulCatalogWatch - Error watching Consul CatalogServices +java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68) + at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:54) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4425) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:65) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:44) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.CachingRouteLocator.handleRefreshError(CachingRouteLocator.java:126) + at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) + at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) + at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onError(MonoStreamCollector.java:149) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263) + at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) + at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:359) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerError(FluxMergeSequential.java:321) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onError(FluxMergeSequential.java:586) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) + Suppressed: java.lang.Exception: #block terminated with an error + at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) + at reactor.core.publisher.Flux.blockLast(Flux.java:2817) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.lambda$onApplicationEvent$3(WeightCalculatorWebFilter.java:156) + at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.ifAvailable(DefaultListableBeanFactory.java:2562) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.onApplicationEvent(WeightCalculatorWebFilter.java:156) + ... 21 common frames omitted +2025-11-21 21:12:24.353 [main] ERROR [] o.s.c.g.route.CachingRouteLocator - Refresh routes error !!! +java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:54) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:1009) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:630) + at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) + at at.mocode.infrastructure.gateway.GatewayApplicationKt.main(GatewayApplication.kt:13) +2025-11-21 21:12:24.353 [main] ERROR [] reactor.core.publisher.Operators - Operator called default onErrorDropped +reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus +Caused by: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68) + at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:54) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4425) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:65) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:44) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.CachingRouteLocator.handleRefreshError(CachingRouteLocator.java:126) + at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) + at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) + at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onError(MonoStreamCollector.java:149) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263) + at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) + at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:359) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerError(FluxMergeSequential.java:321) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onError(FluxMergeSequential.java:586) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) + Suppressed: java.lang.Exception: #block terminated with an error + at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) + at reactor.core.publisher.Flux.blockLast(Flux.java:2817) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.lambda$onApplicationEvent$3(WeightCalculatorWebFilter.java:156) + at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.ifAvailable(DefaultListableBeanFactory.java:2562) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.onApplicationEvent(WeightCalculatorWebFilter.java:156) + ... 21 common frames omitted +2025-11-21 21:12:24.354 [main] ERROR [] reactor.core.publisher.Operators - Operator called default onErrorDropped +reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus +Caused by: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68) + at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:54) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4425) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:65) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:44) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.CachingRouteLocator.handleRefreshError(CachingRouteLocator.java:126) + at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) + at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) + at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onError(MonoStreamCollector.java:149) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263) + at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) + at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:359) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerError(FluxMergeSequential.java:321) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onError(FluxMergeSequential.java:586) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) + Suppressed: java.lang.Exception: #block terminated with an error + at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) + at reactor.core.publisher.Flux.blockLast(Flux.java:2817) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.lambda$onApplicationEvent$3(WeightCalculatorWebFilter.java:156) + at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.ifAvailable(DefaultListableBeanFactory.java:2562) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.onApplicationEvent(WeightCalculatorWebFilter.java:156) + ... 21 common frames omitted +2025-11-21 21:12:24.356 [main] INFO [] a.m.i.gateway.GatewayApplicationKt - Started GatewayApplicationKt in 5.903 seconds (process running for 6.53) +2025-11-21 21:12:25.329 [catalogWatchTaskScheduler-1] ERROR [] o.s.c.g.route.CachingRouteLocator - Refresh routes error !!! +java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) +2025-11-21 21:12:25.329 [catalogWatchTaskScheduler-1] ERROR [] reactor.core.publisher.Operators - Operator called default onErrorDropped +reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus +Caused by: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68) + at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:54) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4425) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:65) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:44) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.CachingRouteLocator.handleRefreshError(CachingRouteLocator.java:126) + at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) + at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) + at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onError(MonoStreamCollector.java:149) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263) + at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) + at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:359) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerError(FluxMergeSequential.java:321) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onError(FluxMergeSequential.java:586) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) + Suppressed: java.lang.Exception: #block terminated with an error + at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) + at reactor.core.publisher.Flux.blockLast(Flux.java:2817) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.lambda$onApplicationEvent$3(WeightCalculatorWebFilter.java:156) + at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.ifAvailable(DefaultListableBeanFactory.java:2562) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.onApplicationEvent(WeightCalculatorWebFilter.java:156) + ... 21 common frames omitted +2025-11-21 21:12:25.330 [catalogWatchTaskScheduler-1] ERROR [] reactor.core.publisher.Operators - Operator called default onErrorDropped +reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus +Caused by: java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68) + at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:54) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4425) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:65) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:44) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.CachingRouteLocator.handleRefreshError(CachingRouteLocator.java:126) + at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) + at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) + at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onError(MonoStreamCollector.java:149) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263) + at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) + at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:359) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerError(FluxMergeSequential.java:321) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onError(FluxMergeSequential.java:586) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) + Suppressed: java.lang.Exception: #block terminated with an error + at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) + at reactor.core.publisher.Flux.blockLast(Flux.java:2817) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.lambda$onApplicationEvent$3(WeightCalculatorWebFilter.java:156) + at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.ifAvailable(DefaultListableBeanFactory.java:2562) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.onApplicationEvent(WeightCalculatorWebFilter.java:156) + ... 21 common frames omitted +2025-11-21 21:14:47.297 [parallel-1] ERROR [] o.s.b.a.w.r.e.AbstractErrorWebExceptionHandler - [dcfd4630-17] 500 Server Error for HTTP GET "/api/ping" +java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name setStatus + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + Suppressed: java.lang.Exception: #block terminated with an error + at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) + at reactor.core.publisher.Flux.blockLast(Flux.java:2817) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.lambda$onApplicationEvent$3(WeightCalculatorWebFilter.java:156) + at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.ifAvailable(DefaultListableBeanFactory.java:2562) + at org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter.onApplicationEvent(WeightCalculatorWebFilter.java:156) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) + Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: +Error has been observed at the following site(s): + *__checkpoint ⇢ at.mocode.infrastructure.gateway.metrics.GatewayMetricsWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ AuthorizationWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ ExceptionTranslationWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ LogoutWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ ServerRequestCacheWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ ReactorContextWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ CorsWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ HttpHeaderWriterWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain] + *__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain] + *__checkpoint ⇢ HTTP GET "/api/ping" [ExceptionHandlingWebHandler] +Original Stack Trace: + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:191) + at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68) + at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:54) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4425) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:65) + at org.springframework.cloud.gateway.filter.cors.CorsGatewayFilterApplicationListener.onApplicationEvent(CorsGatewayFilterApplicationListener.java:44) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.CachingRouteLocator.handleRefreshError(CachingRouteLocator.java:126) + at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) + at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) + at reactor.core.publisher.MonoStreamCollector$StreamCollectorSubscriber.onError(MonoStreamCollector.java:149) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:351) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) + at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onError(FluxFlattenIterable.java:263) + at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:234) + at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onError(MonoCollectList.java:108) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:359) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerError(FluxMergeSequential.java:321) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onError(FluxMergeSequential.java:586) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) + at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:492) + at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:424) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.drain(FluxMergeSequential.java:439) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.innerNext(FluxMergeSequential.java:304) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onNext(FluxMergeSequential.java:578) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.tryOnNext(FluxFilterFuseable.java:148) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.slowPath(FluxIterable.java:664) + at reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:623) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialInner.onSubscribe(FluxMergeSequential.java:571) + at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Flux.subscribe(Flux.java:8891) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onNext(FluxMergeSequential.java:237) + at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) + at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) + at reactor.core.publisher.FluxMergeSequential$MergeSequentialMain.onSubscribe(FluxMergeSequential.java:198) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) + at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) + at reactor.core.publisher.Mono.subscribe(Mono.java:4576) + at reactor.core.publisher.Mono.subscribeWith(Mono.java:4641) + at reactor.core.publisher.Mono.subscribe(Mono.java:4542) + at reactor.core.publisher.Mono.subscribe(Mono.java:4478) + at reactor.core.publisher.Mono.subscribe(Mono.java:4450) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:98) + at org.springframework.cloud.gateway.route.CachingRouteLocator.onApplicationEvent(CachingRouteLocator.java:42) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.gateway.route.RouteRefreshListener.reset(RouteRefreshListener.java:75) + at org.springframework.cloud.gateway.route.RouteRefreshListener.resetIfNeeded(RouteRefreshListener.java:70) + at org.springframework.cloud.gateway.route.RouteRefreshListener.onApplicationEvent(RouteRefreshListener.java:64) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454) + at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:387) + at org.springframework.cloud.consul.discovery.ConsulCatalogWatch.catalogServicesWatch(ConsulCatalogWatch.java:140) + 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) +2025-11-21 21:14:47.308 [parallel-1] WARN [] i.m.p.PrometheusMeterRegistry - The meter (MeterId{name='gateway_errors_total', tags=[tag(application=meldestelle),tag(component=infrastructure),tag(environment=dev),tag(error_type=server_error),tag(gateway=api-gateway),tag(instance=meldestelle-8080-fee55e03-3714-4158-a649-22ade50d491e),tag(method=GET),tag(path=/api/ping),tag(service=gateway),tag(status=500),tag(status_series=5xx)]}) registration has failed: Prometheus requires that all meters with the same name have the same set of tag keys. There is already an existing meter named 'gateway_errors' containing tag keys [application, component, environment, gateway, instance, service]. The meter you are attempting to register has keys [application, component, environment, error_type, gateway, instance, method, path, service, status, status_series]. Note that subsequent logs will be logged at debug level. +2025-11-21 21:17:27.582 [SpringApplicationShutdownHook] INFO [] o.s.b.w.e.netty.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete +2025-11-21 21:17:27.583 [netty-shutdown] INFO [] o.s.b.w.e.netty.GracefulShutdown - Graceful shutdown complete +2025-11-21 21:17:29.593 [SpringApplicationShutdownHook] INFO [] o.s.c.c.s.ConsulServiceRegistry - Deregistering service with consul: meldestelle-8080-983624d5-d6e3-4bb6-b481-07ac4519ee7b