如何在Wicket中动态快速加载图像?
我正在尝试使用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
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页面同步。可能相关:可能相关: