spring cloud config配置自动刷新

wodedarui 2018-05-14 03:44:38
使用github webhook配置,Payload URL填的是: http://436d3d0b.ngrok.io/actuator/bus-refresh,当sprig cloud config配置文件修改后,自动刷新到各个服务,然后出现异常:
2018-05-14 10:49:47.291 WARN [config-server,5c61eb199497d9f9,5c61eb199497d9f9,false] 11248 --- [nio-8001-exec-8] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token
at [Source: (PushbackInputStream); line: 1, column: 290] (through reference chain: java.util.LinkedHashMap["commits"])

使用curl命令可以正常刷新curl -X POST http://436d3d0b.ngrok.io/actuator/bus-refresh

求高手指点迷津!
...全文
1106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sz-hewei 2019-01-31
  • 打赏
  • 举报
回复
不用什么过滤器 包装一下那个接口 ,还可以做很多你想做的事情,比如验证,记录日志 @PostMapping("/actuator/bus-refresh2") @ResponseBody public Object busRefresh2(HttpServletRequest request,@RequestBody(required = false) String s) { System.out.println(s); return new ModelAndView("/actuator/bus-refresh"); }
zengdw 2018-12-10
  • 打赏
  • 举报
回复
这个是json文件解析错误,在提交更改触发刷新时,GitHub的webhook会在post的body中加Payload(一串字符串) 在config server端解析时就会报错,因为这不是一段标准的json。我们要做的就是在server端接收到post请求处理之前把request body清空就行了。 在config server中添加拦截器。
蜗牛0071 2018-10-24
  • 打赏
  • 举报
回复
webhook的链接你配置错了。应该配成configserver的/monitor接口。基于springboot2.0///cloud版本开头F
skn_yyh 2018-08-04
  • 打赏
  • 举报
回复
您spring cloud用的是Finchley版本的吗?我通过gitlab webhook配置,也是出现了同样的问题。。。楼主现在解决了吗?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧