你需要将开始时间存储Exchange在你的拦截器中(如果你是服务器,如果你是客户端则是out-interceptor)
message.getExchange().put("com.myapp.startTime", System.currentTimeMillis());
Run Code Online (Sandbox Code Playgroud)
并在out(分别为)拦截器中检索它
long timeTaken = System.currentTimeMillis() - (Long)message.getExchange().get("com.myapp.startTime");
Run Code Online (Sandbox Code Playgroud)
根据您现有拦截器所在链中的确切位置,您可能希望在一对专用拦截器中执行此操作,尽可能在链中使用一个拦截器,尽可能早地使用一个拦截器(对于服务器,反之亦然)如果你是客户).