【问题标题】:pre-loading data in wicket paged table在检票口分页表中预加载数据
【发布时间】:2016-05-26 09:47:24
【问题描述】:

对于慢速后端,我们被要求在可分页表 (DataTable) 上预加载和缓存数据。

这个想法是在 ISortableDataProvider 中维护一个缓存,并向后端请求比我们每页显示的更大的块。这样,用户每次切换到下一个表格页面时都不必等待。

令人不安的部分是获取下一个块应该在后台运行的想法。什么是好方法?

a) 启动一个新的后台线程来获取

b) 触发 Ajax 调用进行后台获取(并存储在缓存中)

我真的不喜欢任何选项,因为我预见到很多问题。

有没有cmets?

【问题讨论】:

  • 我过去使用过后台线程。我不知道这是否是一个最喜欢的解决方案,所以我很想听听你的最终结果。在我的例子中,我使用的是带有 ISortableDataProvider 的树,所以它有点不同,因为我不需要知道整个数据集的大小来构建分页导航器。我所做的是将用户需要的初始集立即加载到缓存中,然后使用后台线程加载其余部分。 ISortableDataProvider 将从缓存中请求数据。

标签: asynchronous wicket


【解决方案1】:

在我看来,这并不是真正与 Wicket 相关的问题。 我认为您应该专注于服务级别+一些缓存解决方案。

只有当您决定将额外数据(上一页/下一页)放入 Wicket 组件时,Wicket 才可能是一种解决方案。

【讨论】:

  • 嗨 Martin:这正是我的想法,将这些数据放入检票口组件。现在我尝试在没有后台线程的情况下工作,但加载的数据比页面需要的多,并将其缓存在组件/数据提供程序中。在我看来,让多个线程更新数据会带来更多麻烦。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-18
  • 2014-04-11
  • 2012-03-30
  • 1970-01-01
  • 1970-01-01
  • 2013-03-30
  • 1970-01-01
相关资源
最近更新 更多