背景
spring.cloud.alibaba.版本2.2.1.RELEAS在用Micrometer 集成 Prometheus监控的时候,遇到prometheus的数据无法解析,报错原因是:supportedMediaTypes支持的类型不存在。
定位问题
1.根据错误信息查看:
org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor的方法writeWithMessageConverters
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.lang.String] with preset Content-Type 'null'
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:309) ~[spring-webmvc-5.2.4.RELEASE.jar:5.2.4.RELEASE]
报错的源码debug情况展示【注意看this.messageConverters = converters的值】
正确的源码debug情况展示【注意看this.messageConverters = converters的值】
异常信息
- 低版本micrometer-registry-prometheus无法正常显示:
Could not find acceptable representation
- 高版本1.3.5 micrometer-registry-prometheus无法正常显示:
HttpMessageNotWritableException: No converter for [class java.lang.String] with preset Content-Type 'null'
解决方案
针对自己的这种问题的现象,应该如何解决呢?