2016-02-25 72 views
2

我正在嘗試將Dropwizard度量標準添加到Spring Boot控制器方法中。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放到其他類的方法中也可以正常工作。

回答

0

問題在於RelProvider接口。 您的代理需要是CGLIB,而不是JDK動態代理。 您可以刪除接口或更改EnableMetrics註釋中的set proxyTargetClass = true。