如何在JAX-WS中计算请求时间处理?

时间:2010-11-13 11:20:39

标签: java rest glassfish jax-ws

我正在开发RESTful Web服务,我希望将请求时间处理放入xml响应中以用于所有请求。

我使用Netbeans 6.9.1和GlassFish版本3.

我该如何衡量?

谢谢。

1 个答案:

答案 0 :(得分:1)

这有一个坏主意有两个原因:

  1. 该时间信息是多余的。在调用您的Web服务之前,没有什么可以阻止消费者自己启动计时器,然后在他收到响应时停止计时器。
  2. 如果您尝试自动化测试,您将不得不忽略该计时信息,因为您无法预测该值。这使得测试Web服务变得更加困难,因为响应是非确定性的。
  3. 现在,您关心性能是件好事,但不是将这些指标返回给用户,我会在系统日志中记录这些幕后信息,您可以随时查看。有很多方法可以做到这一点,但这里有两种常见的模式。

    1. 使用Apache Commons记录器,然后在代码的入口点long start = System.currentTimeMillis(),在代码的出口点再次调用System.currentTimeMillis(),计算差异,然后{{1}它出来了。
    2. 更干净但更难设置的选项是使用像Spring Framework PerformanceMonitorInterceptor这样的Aspect。
    3. 这是我从Spring Application Context文件中复制的一个工作示例。

      log.info()