当前位置: 首页 > news >正文

高密营销型网站建设微信小程序开发费用

高密营销型网站建设,微信小程序开发费用,网站建设步骤及分工,营销型企业网站建设应遵循的原则记一次网关异常 网关时不时就会出现下面的异常。关键是不知道什么时候就会报错,并且有时候就算什么都不操作,也会导致这个异常。 ERROR org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in schedul…

记一次网关异常

  • 网关时不时就会出现下面的异常。关键是不知道什么时候就会报错,并且有时候就算什么都不操作,也会导致这个异常。
 ERROR org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0at java.util.ArrayList.rangeCheck(ArrayList.java:657)at java.util.ArrayList.get(ArrayList.java:433)at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.combinePredicates(RouteDefinitionRouteLocator.java:238)at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:162)at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:100)at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:693)at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmit(FluxFlatMap.java:553)at reactor.core.publisher.FluxFlatMap$FlatMapInner.onNext(FluxFlatMap.java:972)at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114)at reactor.core.publisher.FluxSubscribeOnValue$ScheduledScalar.run(FluxSubscribeOnValue.java:178)at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
·	at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)
  • 经过搜索,说是gateway低代码版本的漏洞,然后解决方案是,使用nginx拦截actuator方法。
location /actuator {return 404;
}

虽然看着很简单,但是不了解实际原因,真的不敢随便这种升级,因为不确定这个方案到底有没有解决问题。一旦这种升级没有用,生产环境在产生同样的异常,就会给用户造成非常不要的影响,并且会让用户觉得我们不可信,所以还是要探求真正的原因。

  • 之后,便从github的gateway官网上,找到了这个issue,看下面的讨论,发现是缺少Predicted的路由导致的。当路断言未空的时候,实际上是无法进行路由创建的,如果没有为空的判断,就会导致整个路由表崩溃,从而所有请求都报 500。下面是修正后的代码,就是当断言为空的时候,直接放行就行了。

image-20241203221027457

  • 然后,结合动态路由增删的这篇文章,我进行了本地代码的复现

    • 首先定义动态增删路由的接口,见上面的文章。

    • 其次发送post请求,增加一个接口,但是路由的断言不进行创建。也就是发送下面错误的请求体

      post:localhost:8080/actuator/gateway/routes/demo2// 错误的请求体,但是实际上,接受参数的时候,是没有进行验证的。
      {
      "id": "demo2",
      "uri": "http://fuzekun.top3/"
      }
      // 完整的请求体
      {
      "id": "demo3",
      "uri": "http://fuzekun.top3/",
      "predicates": [
      {
      "name": "Path",
      "args": {
      "pattern": "/blog3/**"
      }
      }
      ]
      }
    • 最后发送refresh路由表的请求post: localhost:8080/actuator/gateway/refresh,就会得到上面的错误。

  • 最后,通过升级springcloud gateway的版本,在重复上面的操作,可以发现,路由表仍旧是可以工作的。

最后最后,附上版本的对应表,项目报错使用的版本为

  • spring cloud dependencies :Hoxton.SR2
  • spring cloud alibaba : 2.2.0.RELEASE

修改后的版本为:

  • Spring Cloud Dependencies :Hoxton.SR9
  • spring cloud alibaba : 2.2.6.RELEASE
http://www.hkea.cn/news/55187/

相关文章:

  • 增值税怎么算免费seo快速排名系统
  • 响应式电商网站制作全网
  • 国内b2b网站a片长春做网站推广的公司
  • 网页制作视频的网站建设引擎优化seo怎么做
  • 吉林省建设厅证件查询网站今日热搜
  • 做熟食的网站美食网站搜索引擎推广方案案例
  • 企业模板网站推广优化平台
  • 赣州做网站的网站优化技术
  • 设计网站大全网公司推广咨询
  • 北京网站建设价格上海关键词排名优化公司
  • 浙江华临建设集团有限公司网站seo优化网站词
  • 服装网站建设规划书范文免费的行情网站
  • 合肥企业自助建站seo课程培训班
  • 企业网站建设总结什么软件可以免费引流
  • 个人博客网站如何做SEO雅诗兰黛网络营销策划书
  • 唐山自助建站软件seo软件优化工具软件
  • 推广电子商务网站的案例网站推广策划书模板
  • 前端外包网站网站优化快速排名软件
  • 凡客做网站cba最新消息
  • 郑州做网站好的公搜索引擎优化好做吗
  • 网站 预算白度
  • 中国电商建站程序信息推广
  • 网站开发教程 布局优化技术
  • 做外贸网站需要请外贸文员吗网站seo诊断分析和优化方案
  • 百度网站怎么做的赚钱吗seo中文含义
  • 做网站界面的软件互联网培训
  • 电子商务网站建设与维护李建忠高级搜索引擎技巧
  • 做地产网站全网搜索软件
  • 网站开发培训班百度网站推广关键词怎么查
  • 东莞市做网站公司seo怎样