Spring Publish Event和監聽Event


學習Nacos源碼的時候 Nacos的服務變更 服務端會向客戶端主動推送變更信息,監聽變更而后推送信息 就是通過Spring Event實現的

-----------------Demo-----------------------------------------------------
@Service
public class TestServeric implements ApplicationContextAware, ApplicationListener<MyApplicationEvenet> {

ApplicationContext applicationContext;

@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}

public void testtestset() {
this.applicationContext.publishEvent(new MyApplicationEvenet(this, "test"));
}

public void pri() {
System.out.println("執行了");
}

@Override
public void onApplicationEvent(MyApplicationEvenet myApplicationListener) {
String s = myApplicationListener.getS();
System.out.println(s);

TestServeric source = (TestServeric) myApplicationListener.getSource();
source.pri();
}

}

------------------------MyApplicationEvent----------
public class MyApplicationEvenet extends ApplicationEvent {
String s;

public MyApplicationEvenet(Object source, String s) {
super(source);
this.s = s;
}

public String getS() {
return s;
}
}



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM