JavaSpring引导控制器:度量中断请求映射
我正在尝试将Dropwizard指标添加到Spring引导控制器方法中
例如:
@RestController
@RequestMapping(value = "/api/plan")
@ExposesResourceFor(Plan.class)
public class PlanController implements RelProvider {
...
@Timed(name = "my.metric")
@RequestMapping(value = "/{id}", method = RequestMethod.GET, produces = "application/hal+json;charset=UTF-8")
public ResponseEntity<Resource<Plan>> getPlan(@PathVariable String id) {
Plan plan = service.getPlan(id);
return createResponse(HttpStatus.OK, plan);
}
一旦我将@Timed(name = "my.metric")
添加到控制器请求处理方法的任何中,所有方法都会开始响应404
没有@Timed
注释的方法,控制器工作正常。将@Timed
放在其他类的方法上也很好
# 1 楼答案
问题在于RelProvider接口。 您的代理需要是CGLIB,而不是JDK动态代理。 您可以删除接口或更改EnableMetrics注释中的设置proxyTargetClass=true