本站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
魔域手游軍團(tuán)軍銜 -
櫻花動漫
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);//將鏈條本身的對象傳遞給鏈條成員
}
}
}
手游陪玩平臺推薦便宜 -
櫻花動漫