色偷偷精品伊人,欧洲久久精品,欧美综合婷婷骚逼,国产AV主播,国产最新探花在线,九色在线视频一区,伊人大交九 欧美,1769亚洲,黄色成人av

240 發(fā)簡(jiǎn)信
IP屬地:北京
  • zuul是被spring集成在spring-cloud項(xiàng)目下的,一般都會(huì)配合eureak使用
    eureka-client包中,在DiscoveryClient初始化的時(shí)候,默認(rèn)會(huì)開啟一個(gè)定時(shí)器,每隔30秒發(fā)布一個(gè)HeartbeatEvent事件,而ZuulRefreshListener會(huì)監(jiān)聽這個(gè)事件,然后調(diào)用ZuulHandlerMapping.setDirty(true);

    所以,RouteLocator的refresh時(shí)間不能太長(zhǎng),不然后果很嚴(yán)重
    如果refresh結(jié)束之前,dirty值已經(jīng)被改成false,當(dāng)時(shí)確實(shí)更新的route不會(huì)生效,但是會(huì)在下一個(gè)HeartbeatEvent事件發(fā)布后生效

    如果,需要在refresh之后,立刻生效,也可以通過aop+反射來解決這個(gè)問題
    private Logger logger = LoggerFactory.getLogger(CompositeRouteAop.class);

    @Resource
    private ZuulHandlerMapping handlerMapping;

    @Pointcut("execution(* org.springframework.cloud.netflix.zuul.filters.CompositeRouteLocator.refresh(..))")
    public void pointCut() {
    }

    @Around("pointCut()")
    public Object resetDirty(ProceedingJoinPoint joinPoint) throws Throwable {
    Object proceed = joinPoint.proceed(joinPoint.getArgs());

    try {
    Field dirty = ZuulHandlerMapping.class.getDeclaredField("dirty");
    dirty.setAccessible(true);
    dirty.setBoolean(handlerMapping, true);
    } catch (Throwable e) {
    logger.error("reset zuulHandlerMapping dirty value error after refresh route", e);
    }

    return proceed;
    }

  • zuul是被spring集成在spring-cloud項(xiàng)目下的,一般都會(huì)配合eureak使用
    eureka-client包中,在DiscoveryClient初始化的時(shí)候,默認(rèn)會(huì)開啟一個(gè)定時(shí)器,每隔30秒發(fā)布一個(gè)HeartbeatEvent事件,而ZuulRefreshListener會(huì)監(jiān)聽這個(gè)事件,然后調(diào)用ZuulHandlerMapping.setDirty(true);

    所以,RouteLocator的refresh時(shí)間不能太長(zhǎng),不然后果很嚴(yán)重
    如果refresh結(jié)束之前,dirty值已經(jīng)被改成false,當(dāng)時(shí)確實(shí)更新的route不會(huì)生效,但是會(huì)在下一個(gè)HeartbeatEvent事件發(fā)布后生效

    如果,需要在refresh之后,立刻生效,也可以通過aop+反射來解決這個(gè)問題
    private Logger logger = LoggerFactory.getLogger(CompositeRouteAop.class);

    @Resource
    private ZuulHandlerMapping handlerMapping;

    @Pointcut("execution(* org.springframework.cloud.netflix.zuul.filters.CompositeRouteLocator.refresh(..))")
    public void pointCut() {
    }

    @Around("pointCut()")
    public Object resetDirty(ProceedingJoinPoint joinPoint) throws Throwable {
    Object proceed = joinPoint.proceed(joinPoint.getArgs());

    try {
    Field dirty = ZuulHandlerMapping.class.getDeclaredField("dirty");
    dirty.setAccessible(true);
    dirty.setBoolean(handlerMapping, true);
    } catch (Throwable e) {
    logger.error("reset zuulHandlerMapping dirty value error after refresh route", e);
    }

    return proceed;
    }

    spring cloud zuul使用記錄(2)路由接入流程以及并發(fā)刷新問題

    最近在看spring cloud zuul(版本Finchley.SR1)的源代碼,一不小心還看到了個(gè)bug(我認(rèn)為是哈),更神奇的是,這個(gè)bug一年前已經(jīng)有人提了issue...

嵊州市| 报价| 钟祥市| 济南市| 香河县| 栖霞市| 襄城县| 中江县| 五大连池市| 兴和县| 永新县| 武冈市| 安吉县| 米脂县| 克山县| 云阳县| 临江市| 聂荣县| 赤城县| 丽水市| 开远市| 沁水县| 孟村| 五莲县| 吴川市| 穆棱市| 盐源县| 公主岭市| 江华| 镇江市| 淮南市| 永寿县| 黄冈市| 肃北| 德江县| 宜君县| 娱乐| 龙门县| 南部县| 武胜县| 宁陵县|