docs: protected synchronized void compareReply(List<Long> processIds) {
          Object[] replyIds = replyProcessIds.toArray();
          for (Object replyId : replyIds) {
              if (processIds.contains((Long) replyId) == false) { // 判断reply id是否在当前processId列表中
                  // 因为存在并发问题，如在执行Listener事件的同时，可能触发了process的创建，这时新建的processId会进入到reply队列中
                  // 此时接受到的processIds变量为上一个版本的内容，所以会删除新建的process，导致整个通道被挂住
                  if (CollectionUtils.isEmpty(processIds) == false) {
                      Long processId = processIds.get(0);
                      if (processId > (Long) replyId) { // 如果当前最小的processId都大于replyId, processId都是递增创建的
                          logger.info("## {} remove reply id [{}]", ClassUtils.getShortClassName(this.getClass()),
                                      (Long) replyId);
                          replyProcessIds.remove((Long) replyId);
                      }
                  }
              }
          }
      }