zk中CommitProcessor的作用是什么

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

CommitProcessor用来处理提交的请求

CommitProcessor extends Thread implements RequestProcessor

zk中CommitProcessor的作用是什么

UML关系图

zk中CommitProcessor的作用是什么

内部类

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