Spring Boot控制器:指标中断请求映射

时间:2016-02-25 15:45:20

标签: java spring metrics

我试图将Dropwizard指标添加到Spring Boot控制器方法。

如下:

@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 个答案:

答案 0 :(得分:0)

问题出在RelProvider界面上。 您的代理需要是CGLIB,而不是JDK动态代理。 您可以删除界面或在EnableMetrics注释中更改set proxyTargetClass = true。