2011-04-20 3 views
2

Wicket WebResource을 사용하여 동시에 많은 이미지를 동적으로로드하려고합니다. 문제는 다음 그들을로드 시간이 많이 소요되며, 경우에 따라서는 1 분 이상을 소요하고 있다는 것입니다 나는 다음과 같은 오류 얻을 :Wicket에서 동적으로 이미지를 빠르게로드하려면 어떻게해야합니까?

org.apache.wicket.protocol.http.request.InvalidUrlException: org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[http-8443-2,5,main], giving up trying to get the page for path: 6:documentList:scroller:batchElem:11:content:item:7:cols:9:batchItemContent:linkToPreview:imageThumbnail
at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

사람이 이미지를 동적으로로드하는 다른 솔루션을 알고 있나요을 , 오류를 피하기 위해?

+0

가능성 있음 : http://stackoverflow.com/questions/5714229/wicket-image-component-not-found-on-page – Pops

답변

0

각 이미지를 AjaxLazyLoadPanel에 넣으면 각 이미지에 대해 서버에 대한 짧은 요청이 많이 생성 될 수 있습니다.

0

The problem is that it takes a lot of time to load them, and in some cases it takes more than a minute

확실히로드를 가져 와서 페이지 맵 잠금 예외가 발생하지 않도록하고 사용자를 기다리지 않아야합니다.

시간 제한을 늘릴 수는 있지만 (this question 참조) 최상의 해결책은 아닙니다.

무엇이 시간이 오래 걸리나요? 동적 이미지의 복잡한 렌더링을 수행하고 있습니까? 코드를 보여줄 수 있습니까?

아마도 이미 알고 있을지 모르지만 유용 할 수도있는 image examples이 있습니다.

0

Wicket 공유 리소스를 사용하여 이미지 콘텐츠를 전달하는 것이 더 좋습니다. 즉, MyApp # init()에 과 같은 것을 입력하십시오. 1.4의 경우 mount - mountSharedResource()를, 1.5의 경우 mountResource()를 마운트하십시오. 그런 다음 이미지 이름/경로가있는 탑재 된 리소스 + 동적 매개 변수를 가리키는 url과 함께 ContextImage를 사용하십시오. Wicket 공유 리소스가 Wicket Pages와 동기화되지 않는 것이 이점입니다.

관련 문제