You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2022/01/29 07:07:02 UTC
[dubbo] branch 3.0 updated: only process context event of current context (#9637)
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.0 by this push:
new 467d832 only process context event of current context (#9637)
467d832 is described below
commit 467d83202e164702022884cc166fcb763701d6f3
Author: jessin <18...@163.com>
AuthorDate: Sat Jan 29 15:06:46 2022 +0800
only process context event of current context (#9637)
---
.../context/DubboConfigApplicationListener.java | 20 +++++++++++---------
.../context/DubboDeployApplicationListener.java | 16 +++++++++-------
2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/DubboConfigApplicationListener.java b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/DubboConfigApplicationListener.java
index 96c11fa..e1153e2 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/DubboConfigApplicationListener.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/DubboConfigApplicationListener.java
@@ -16,19 +16,19 @@
*/
package org.apache.dubbo.config.spring.context;
-import org.apache.dubbo.config.spring.context.event.DubboConfigInitEvent;
-import org.apache.dubbo.config.spring.util.DubboBeanUtils;
-import org.apache.dubbo.rpc.model.ModuleModel;
+import static org.springframework.util.ObjectUtils.nullSafeEquals;
+import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.dubbo.config.spring.context.event.DubboConfigInitEvent;
+import org.apache.dubbo.config.spring.util.DubboBeanUtils;
+import org.apache.dubbo.rpc.model.ModuleModel;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationListener;
-import java.util.concurrent.atomic.AtomicBoolean;
-
/**
* An ApplicationListener to load config beans
*/
@@ -50,10 +50,12 @@ public class DubboConfigApplicationListener implements ApplicationListener<Dubbo
@Override
public void onApplicationEvent(DubboConfigInitEvent event) {
- // It's expected to be notify at org.springframework.context.support.AbstractApplicationContext.registerListeners(),
- // before loading non-lazy singleton beans. At this moment, all BeanFactoryPostProcessor have been processed,
- if (initialized.compareAndSet(false, true)) {
- initDubboConfigBeans();
+ if (nullSafeEquals(applicationContext, event.getSource())) {
+ // It's expected to be notify at org.springframework.context.support.AbstractApplicationContext.registerListeners(),
+ // before loading non-lazy singleton beans. At this moment, all BeanFactoryPostProcessor have been processed,
+ if (initialized.compareAndSet(false, true)) {
+ initDubboConfigBeans();
+ }
}
}
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/DubboDeployApplicationListener.java b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/DubboDeployApplicationListener.java
index 8b8ed06..60188a4 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/DubboDeployApplicationListener.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/DubboDeployApplicationListener.java
@@ -16,6 +16,9 @@
*/
package org.apache.dubbo.config.spring.context;
+import static org.springframework.util.ObjectUtils.nullSafeEquals;
+
+import java.util.concurrent.Future;
import org.apache.dubbo.common.deploy.DeployListenerAdapter;
import org.apache.dubbo.common.deploy.DeployState;
import org.apache.dubbo.common.deploy.ModuleDeployer;
@@ -27,7 +30,6 @@ import org.apache.dubbo.config.spring.util.DubboBeanUtils;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.model.ModelConstants;
import org.apache.dubbo.rpc.model.ModuleModel;
-
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
@@ -37,8 +39,6 @@ import org.springframework.context.event.ContextClosedEvent;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.core.Ordered;
-import java.util.concurrent.Future;
-
/**
* An ApplicationListener to control Dubbo application.
*/
@@ -95,10 +95,12 @@ public class DubboDeployApplicationListener implements ApplicationListener<Appli
@Override
public void onApplicationEvent(ApplicationContextEvent event) {
- if (event instanceof ContextRefreshedEvent) {
- onContextRefreshedEvent((ContextRefreshedEvent) event);
- } else if (event instanceof ContextClosedEvent) {
- onContextClosedEvent((ContextClosedEvent) event);
+ if (nullSafeEquals(applicationContext, event.getSource())) {
+ if (event instanceof ContextRefreshedEvent) {
+ onContextRefreshedEvent((ContextRefreshedEvent) event);
+ } else if (event instanceof ContextClosedEvent) {
+ onContextClosedEvent((ContextClosedEvent) event);
+ }
}
}