今天在看cachePoolBase这个类时 开始不明白 为什么要这样一下
final CachePoolBase mgr = this;
看了一下 才明白 是因为在内部类中要调用 外部类的方法
final CachePoolBase mgr = this;
XceStormAdapter.getInstance().subscribe(SVC_ID, new XceStormListener(){
private static final long serialVersionUID = 1L;
@Override
public void handle(Map<String, String> context) {
String skey = context.get(KEY_ITEM_ID);
try {
K key = loader.stringToKey(skey);
String op = context.get(KEY_OP);
if (op != null) {
if (op.equals(OP_UPDATE)) {
mgr.update(key);
} else if (op.equals(OP_REMOVE)) {
mgr.remove(key);
}
} catch (KeyParseException e) {
logger.error("key parse failed:" + skey, e);
}
}
});
自己真是 弱小啊。。。
本文探讨了CachePoolBase类的应用场景,并详细解释了如何通过内部类调用外部类方法来实现缓存更新与移除操作。具体介绍了XceStormAdapter订阅机制下,根据不同操作指令对缓存进行相应处理的过程。
9472

被折叠的 条评论
为什么被折叠?



