本篇文章给大家分享的是有关zk中CommitProcessor的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
CommitProcessor用来处理提交的请求
CommitProcessor extends Thread implements RequestProcessor

UML关系图

内部类
CommitWorkRequest
属性
queuedRequests | 请求等待队列 |
committedRequests | 已提交请求队列 |
nextProcessor | RequestProcessor请求下一个处理器 |
toProcess | 要处理请求 |
workerPool | 处理服务 |
| |
| |
构造方法
public CommitProcessor(RequestProcessor nextProcessor, String id, boolean matchSyncs) {
super("CommitProcessor:" + id);
this.nextProcessor = nextProcessor;
this.matchSyncs = matchSyncs;
}
是否正在处理请求
private boolean isProcessingRequest() {
return numRequestsProcessing.get() != 0;
}
是否需要commit
protected boolean needCommit(Request request) {
switch (request.type) {
case OpCode.create:
case OpCode.create2:
case OpCode.createTTL:
case OpCode.createContainer:
case OpCode.delete:
case OpCode.deleteContainer:
case OpCode.setData:
case OpCode.reconfig:
case OpCode.multi:
case OpCode.setACL:
case OpCode.check:
return true;
case OpCode.sync:
return matchSyncs;
case OpCode.createSession:
case OpCode.closeSession:
return !request.isLocalSession();
default:
return false;
}
}
以上就是zk中CommitProcessor的作用是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注天达云行业资讯频道。