zk中CommitProcessor的作用是什么
本篇文章给大家分享的是有关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的作用是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。