Java CXF呼叫持续时间日志记录
我正在使用定制的cxf拦截器来记录服务调用的请求/响应,我希望记录调用和响应所花费的时间Java CXF呼叫持续时间日志记录,java,logging,cxf,Java,Logging,Cxf,我正在使用定制的cxf拦截器来记录服务调用的请求/响应,我希望记录调用和响应所花费的时间 有没有办法做到这一点 您需要将开始时间存储到您的in-interceptor(如果您是服务器,如果您是客户端,则存储到out-interceptor)中的Exchange 并在out(分别在in)拦截器中检索它 long timeTaken = System.currentTimeMillis() - (Long)message.getExchange().get("com.myapp.startTime"
有没有办法做到这一点 您需要将开始时间存储到您的in-interceptor(如果您是服务器,如果您是客户端,则存储到out-interceptor)中的
Exchange
并在out(分别在in)拦截器中检索它
long timeTaken = System.currentTimeMillis() - (Long)message.getExchange().get("com.myapp.startTime");
根据现有拦截器在链中的确切位置,您可能希望在一对专用的拦截器中执行此操作,在链中尽可能早地输入一个拦截器,在链中尽可能晚地输出一个拦截器(对于服务器,如果您是客户机,则反之亦然)。这是线程安全的吗?我可以从另一个请求中获取
com.myapp.startTime
?
long timeTaken = System.currentTimeMillis() - (Long)message.getExchange().get("com.myapp.startTime");