Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Wicket中动态快速加载图像?_Wicket - Fatal编程技术网

如何在Wicket中动态快速加载图像?

如何在Wicket中动态快速加载图像?,wicket,Wicket,我正在尝试使用WicketWebResource同时动态加载大量图像。问题是加载它们需要很多时间,在某些情况下需要一分钟以上,然后我得到以下错误: org.apache.wicket.protocol.http.request.InvalidUrlException:org.apache.wicket.WicketRuntimeException:1分钟后,Pagemap null仍然被以下线程锁定:线程[http-8443-2,5,main],放弃尝试获取路径为6:documentList:s

我正在尝试使用Wicket
WebResource
同时动态加载大量图像。问题是加载它们需要很多时间,在某些情况下需要一分钟以上,然后我得到以下错误:

org.apache.wicket.protocol.http.request.InvalidUrlException:org.apache.wicket.WicketRuntimeException:1分钟后,Pagemap null仍然被以下线程锁定:线程[http-8443-2,5,main],放弃尝试获取路径为6:documentList:scroller:batchElem:11:content:item:7:cols:9:batchItemContent:linkToPreview:imageThumbnail的页面
位于org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262)
位于org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
位于org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
在org.apache.wicket.RequestCycle.request(RequestCycle.java:545)


是否有人知道动态加载图像的其他解决方案,为了避免错误?

您可以将每个图像放在
AjaxLazyLoadPanel
中,然后为每个图像向服务器创建许多短请求。

您可以将每个图像放在
AjaxLazyLoadPanel
中,然后为每个图像向服务器创建许多短请求

问题是加载它们需要很多时间,在某些情况下需要一分钟以上

当然,您应该尝试让加载花费不到一分钟的时间,这样就不会出现pagemap锁定异常,也不会让用户等待

可以增加超时时间(请参阅),但这不是最佳解决方案

什么花了这么多时间?您正在对动态图像进行复杂的渲染吗?你能显示代码吗

你可能已经意识到了这一点,但是有一些可能是有用的

问题是加载它们需要很多时间,在某些情况下需要一分钟以上

当然,您应该尝试让加载花费不到一分钟的时间,这样就不会出现pagemap锁定异常,也不会让用户等待

可以增加超时时间(请参阅),但这不是最佳解决方案

什么花了这么多时间?您正在对动态图像进行复杂的渲染吗?你能显示代码吗


您可能已经意识到了这一点,但也有一些可能是有用的。

最好使用Wicket共享资源来提供图像内容。 例如: 在MyApp#init()中,为1.4安装资源-mountSharedResource(),为1.5安装资源-mountSharedResource()。 然后使用带有url的ContextImage,该url指向带有映像名称/路径的已装载资源+动态参数。
好处是Wicket共享资源不会与Wicket页面同步。

最好使用Wicket共享资源来交付图像内容。 例如: 在MyApp#init()中,为1.4安装资源-mountSharedResource(),为1.5安装资源-mountSharedResource()。 然后使用带有url的ContextImage,该url指向带有映像名称/路径的已装载资源+动态参数。 好处是Wicket共享资源不会与Wicket页面同步。

可能相关:可能相关: