public interface CallbackService{
void addListener(String key,CallbackListener listener);
}
public interface CallbackListener{
void changed(String msg);
}
public class CallbackServiceImpl implements CallbackService{
private final Map<String,CallbackListener> listeners = new ConcurrentHashMap<String,CallbackListener>();
public void addListener(String key,CallbackListener listener){
listeners.put(key,listener);
}
public CallbackServiceImpl(){
Thread t = new Thread(
new Runnable(){
public void run(){
while(true){
try{
for(Map.Entry<String,CallBackListener> entry: listeners.entrySer()){
try{
entry.getValue().changed(getChanged(entry.getKey()));
}catch(Throwable t){listeners.remove()}
}
}catch(Throwable e){listeners.remove(entry.getKey())}
}
}
}
);
}
}
Dubbo的异步回调服务端实现
最新推荐文章于 2024-07-19 13:37:01 发布
该博客讨论了一个实现回调服务的接口 CallbackService 和其监听器 CallbackListener。CallbackServiceImpl 类实现了 CallbackService 接口,使用 ConcurrentHashMap 存储监听器,并在后台线程中不断检查并调用监听器的 changed 方法,处理消息更新。
摘要由CSDN通过智能技术生成