From 3ea2878c5bf022465b7f18cf93d1bdd125e86131 Mon Sep 17 00:00:00 2001 From: Fishtail <49390359+fuyuwei01@users.noreply.github.com> Date: Tue, 20 Jan 2026 15:05:37 +0800 Subject: [PATCH] fix: fix NPE when application context is null (#1787) Signed-off-by: Haotian Zhang <928016560@qq.com> --- CHANGELOG.md | 1 + .../context/logging/PolarisLoggingApplicationListener.java | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 00e243ada..7e6880f64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,3 +51,4 @@ - [fix: fix NacosDiscoveryRegistryAutoConfiguration and PolarisAuthAutoConfiguration still initiation when polaris disabled.](https://github.com/Tencent/spring-cloud-tencent/pull/1783) - [fix: fix cb rule no update bug.](https://github.com/Tencent/spring-cloud-tencent/pull/1786) - [feat: support traffic gray lane router](https://github.com/Tencent/spring-cloud-tencent/pull/1785) +- [fix: fix NPE when application context is null #1787](https://github.com/Tencent/spring-cloud-tencent/pull/1787) \ No newline at end of file diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java index b4479e5da..4a0f4059d 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/logging/PolarisLoggingApplicationListener.java @@ -28,6 +28,7 @@ import org.springframework.boot.context.logging.LoggingApplicationListener; import org.springframework.boot.web.context.WebServerInitializedEvent; import org.springframework.cloud.context.environment.EnvironmentChangeEvent; import org.springframework.context.ApplicationEvent; +import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.event.GenericApplicationListener; import org.springframework.core.ResolvableType; import org.springframework.core.env.ConfigurableEnvironment; @@ -69,7 +70,11 @@ public class PolarisLoggingApplicationListener implements GenericApplicationList environment = ((ApplicationEnvironmentPreparedEvent) applicationEvent).getEnvironment(); } else if (ApplicationFailedEvent.class.isAssignableFrom(applicationEvent.getClass())) { - environment = ((ApplicationFailedEvent) applicationEvent).getApplicationContext().getEnvironment(); + ConfigurableApplicationContext configurableApplicationContext = ((ApplicationFailedEvent) applicationEvent) + .getApplicationContext(); + if (configurableApplicationContext != null) { + environment = configurableApplicationContext.getEnvironment(); + } } if (environment != null) {