【问题标题】:tracking progress of remote call that pulls serialized object跟踪拉取序列化对象的远程调用的进度
【发布时间】:2012-03-16 23:22:33
【问题描述】:

我有一个使用 Java/Spring 的客户端/服务器应用程序。客户端通过 httpinvokers 访问服务器并发出返回序列化对象的请求。

我们有一个调用一个非常大的 50mb + 序列化对象。显然,这个呼叫需要几分钟的时间来处理。有没有办法跟踪这个电话的进度?例如,如果我可以在通话进行时测试传输的数据量,那将是完美的,也许可以使用单独的线程。

谢谢

【问题讨论】:

    标签: java spring serialization client-server httpinvoker


    【解决方案1】:

    您必须进行 2 次不同的调用(第 2 次是异步的)。您的服务器将实现一个观察者模式来更新传输到正在观察它的对象的数据。服务器将以块的形式而不是流的形式写入这 50MB 数据。

    观察者类将是您将异步调用的另一个类。观察者将继续返回已经传输了多少数据。

    附件上传进度条与 HTML5 发布之前 Gmail 实现的概念类似。他们所做的是使用 html 控件上传正在写入服务器端的附件,同时,他们使用 flash 对象向该服务器发送调用以查看保存了多少数据。

    【讨论】:

    • 感谢您的回复,但我希望在保持单一呼叫模型的同时做一些事情。有没有办法做到这一点?
    猜你喜欢
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    相关资源
    最近更新 更多