gm手游平臺哪個好誰知道(gm手游平臺源碼)


本站AI自動判斷提供您所需要的app下載:點我下載安裝,你懂的APP

作者|fanfan

來源|極果編輯部

public class HandleChainManager { /** * 存放責(zé)任鏈路上的具體處理類 * k-具體業(yè)務(wù)場景名稱 * v-具體業(yè)務(wù)場景下的責(zé)任鏈路集合 */ private Map> handleMap; /** * 存放系統(tǒng)中責(zé)任鏈具體處理類 * @param handlerList */ public void setHandleMap(List handlerList) { handleMap = handlerList .stream() .sorted(Comparator.comparingInt(h -> AnnotationUtils.findAnnotation(h.getClass(), Duty.class).order())) .collect(Collectors.groupingBy(handler -> AnnotationUtils.findAnnotation(handler.getClass(), Duty.class).type())); } /** * 執(zhí)行具體業(yè)務(wù)場景中的責(zé)任鏈集合 * @param type 對應(yīng)@Duty注解中的type,可以定義為具體業(yè)務(wù)場景 * @param t 被執(zhí)行的參數(shù) */ public R executeHandle(String type, T t) { List handlers = handleMap.get(type); R r = null; if (CollectionUtil.isNotEmpty(handlers)) { for (IHandler handler : handlers) { r = handler.handle(t); } } return r; } }

# run the authserver located in the directory "docker/authserver/bin" of the host machine

將我們得到的用戶名和密碼填入下圖Visual Studio程序打開的acore位置

source: ./docker/authserver/bin

# set noninteractive mode so tzdata doesn't ask to set timezone on install

private static class VirtualFilterChain implements FilterChain { private final FilterChain originalChain; //鏈條中的節(jié)點全部執(zhí)行完后,處理request請求的對象 private final List additionalFilters; //請求實際執(zhí)行者, private final FirewalledRequest firewalledRequest; private final int size; private int currentPosition = 0; //鏈條移動的位置,當(dāng)currentPosition==size,到達(dá)鏈條的尾端。 private VirtualFilterChain(FirewalledRequest firewalledRequest, FilterChain chain, List additionalFilters) { this.originalChain = chain; this.additionalFilters = additionalFilters; this.size = additionalFilters.size(); this.firewalledRequest = firewalledRequest; } public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { if (currentPosition == size) { //到達(dá)鏈條尾端 if (logger.isDebugEnabled()) { logger.debug(UrlUtils.buildRequestUrl(firewalledRequest) + " reached end of additional filter chain; proceeding with original chain"); } // Deactivate path stripping as we exit the security filter chain this.firewalledRequest.reset(); originalChain.doFilter(request, response); } else { currentPosition++; //依次移動鏈條指針到具體節(jié)點 Filter nextFilter = additionalFilters.get(currentPosition - 1); if (logger.isDebugEnabled()) { logger.debug(UrlUtils.buildRequestUrl(firewalledRequest) + " at position " + currentPosition + " of " + size + " in additional filter chain; firing Filter: '" + nextFilter.getClass().getSimpleName() + "'"); } nextFilter.doFilter(request, response, this);//將鏈條本身的對象傳遞給鏈條成員 } } }