【问题标题】:RPC vs JSON comparision in GWT applicationGWT 应用程序中的 RPC 与 JSON 比较
【发布时间】:2011-12-14 14:27:19
【问题描述】:

这是一个简单而有力的问题。

我有一个应用程序测试,它通过 RPC 和 REST 发送 1000 个 CustomDTO 列表。

我只想知道反序列化负载(在 RPC 中)和 JSON(在 REST 中)需要多少时间。

我的问题是我得到的时间包括:

客户端时间+服务器时间+线路时间+反序列化时间

有任何测试应用程序或实用程序甚至 GWT 实用程序来获取反序列化时间而不是其他时间?

谢谢。

【问题讨论】:

    标签: json gwt rpc


    【解决方案1】:

    在您的应用中启用轻量级指标 (http://code.google.com/webtoolkit/doc/latest/DevGuideLightweightMetrics.html) GWT-RPC 开箱即用地支持它们,所以如果你能看到每个 GWT-RPC 请求在序列化/去实现上花费了多少时间

    【讨论】:

      【解决方案2】:

      您可以覆盖 RemoteServiceServlet 的某些方法。 然后你可以测量花在序列化上的时间:

      protected void onBeforeRequestDeserialized(String serializedRequest) {
      }
      
      protected void onAfterResponseSerialized(String serializedResponse) {
      }
      
      protected void onAfterRequestDeserialized(RPCRequest rpcRequest) {
      }
      

      不过,我不知道有任何实用程序。

      【讨论】:

      • 这是一个服务器类吗?我对客户端的反序列化感兴趣。
      • 我认为您不能在客户端上执行此操作。我的意思是你可以解析响应,但这不是序列化。序列化是一种将您的 java 对象转换为 json 的技巧,反之亦然。它在 RemoteServiceServlet 中完成。如果您使用 GWT-RPC,则必须创建一个扩展此类的 servlet。在那里您可以覆盖这些方法。此外,重要的是要记住 RemoteServiceServlet 会压缩响应。
      • RemoteServiceServlet 不压缩响应。
      • 确实如此。参见RemoteServiceServlet下面的方法:private void writeResponse(HttpServletRequest request,HttpServletResponse response, String responsePayload)
      • 它是可定制的,但它确实是 zip。对不起。无论如何,谢谢。
      猜你喜欢
      • 2012-01-21
      • 1970-01-01
      • 2012-09-14
      • 2023-03-18
      • 2010-11-23
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多