java - 跟踪拉取序列化对象的远程调用的进度

标签 java spring serialization client-server httpinvoker

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

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

谢谢

最佳答案

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

观察者类将是您将异步调用的另一个类。观察者将不断返回已传输的数据量。

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

关于java - 跟踪拉取序列化对象的远程调用的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745725/

相关文章:

javascript - 在 Javascript 谷歌地图 api 中启用 liteMode

java - 添加到 ArrayList 中已有的 Integer

java - 如何在不重启 Tomcat 的情况下重新加载属性文件

java - 使用 postman 解析和映射 json

java - spring webflow提交带有新项目的数组

java - 如何在 Spring Boot 2 中添加自定义 ArgumentResolvers 而不启用 Web MVC?

java - 将自定义 Java 对象发送到 Kafka 主题

serialization - 如果应用程序从不依赖其对象标识,是否可以序列化基于值的对象?

java - 将 Hibernate 集成到 Spring 3 项目中

c# - .NET 运行时序列化