You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Michal Wegrzyn <mi...@onior.com> on 2011/11/01 09:36:16 UTC

abort loading lazy components

Hello,

In application which I am developing AjaxLazyLoadPanel is used for several components.
Wicket creates queue of synchronous Ajax requests for every lazy component.

I saw several discussions about the way how Wicket loads the components
(and AFAIK Wicket can do it only synchronously), but I could not find anything about
canceling these requests.

Now, even if user triggers new request, he still has to wait to load all lazy components.
Then Wicket continues with request which was triggered during loading lazy components.

Is there any way to cancel loading of the lazy components and handle new request immediately?

Yours sincerely,

Michal Wegrzyn

RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
Disabling request logger didn't help, however if this only a trace issue then it does not matter through.

Even if not, then still this is caused by the main issue, which is that probably Wicket tries to get lazy component that should be dropped.

Best regards,
Michal Wegrzyn

> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Wednesday, November 02, 2011 15:54
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> <mi...@onior.com> wrote:
> > I've updated to Wicket 1.5.2 and I can see also some warnings
> surrounding exceptions.
> > Is it a bug or am I missing something?
> >
> > Below full log:
> >
> > 15:31:11.847 user [http-8888-2] WARN
>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
> handled by BufferedResponseRequestHandler
>
> WICKET-4163
> More or less harmless.
>
> > 15:32:24.028 user [http-8888-5] ERROR
> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
> not find component
> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
> 'class package.MyPage
>
> Do you know how this is triggered ?
>
> >        at
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
> (PageAndComponentProvider.java:167)
> >        at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getCo
> mponent(ListenerInterfaceRequestHandler.java:92)
> >        at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respo
> nd(ListenerInterfaceRequestHandler.java:169)
> >        at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(Re
> questCycle.java:750)
> >        at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerSta
> ck.java:64)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:
> 252)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycl
> e.java:209)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
> questCycle.java:280)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
> r.java:162)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
> :218)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:368)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.invoke(FilterSecurityInterceptor.java:109)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
> lter(ExceptionTranslationFilter.java:97)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.session.SessionManagementFilter.doFilt
> er(SessionManagementFilter.java:100)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AnonymousAuthentication
> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
> oFilter(RequestCacheAwareFilter.java:35)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AbstractAuthenticationP
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
> 7)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.logout.LogoutFilter.doF
> ilter(LogoutFilter.java:105)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.context.SecurityContextPersistenceFilt
> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
> roxy.java:169)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
> egatingFilterProxy.java:237)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
> gFilterProxy.java:167)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> ve.java:233)
> >        at
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
> alve.java:191)
> >        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> ve.java)
> >        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> a:127)
> >        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
> a:102)
> >        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> .java:109)
> >        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 298)
> >        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
> 57)
> >        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
> (Http11Protocol.java:588)
> >        at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >        at java.lang.Thread.run(Unknown Source)
> > 15:32:24.050 user [http-8888-5] ERROR
> o.a.w.request.RequestHandlerStack - Error detaching RequestHandler
> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
> not find component
> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
> 'class package.MyPage
>
> WICKET-4189
> Disable RequestLogger and reenable it for 1.5.3
>
> >        at
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
> (PageAndComponentProvider.java:167)
> >        at
> org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init
> >(ListenerInterfaceLogData.java:51)
> >        at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detac
> h(ListenerInterfaceRequestHandler.java:134)
> >        at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(Req
> uestCycle.java:761)
> >        at
> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStac
> k.java:180)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java
> :565)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:5
> 08)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
> questCycle.java:284)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
> r.java:162)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
> :218)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:368)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.invoke(FilterSecurityInterceptor.java:109)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
> lter(ExceptionTranslationFilter.java:97)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.session.SessionManagementFilter.doFilt
> er(SessionManagementFilter.java:100)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AnonymousAuthentication
> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
> oFilter(RequestCacheAwareFilter.java:35)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AbstractAuthenticationP
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
> 7)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.logout.LogoutFilter.doF
> ilter(LogoutFilter.java:105)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.context.SecurityContextPersistenceFilt
> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
> roxy.java:169)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
> egatingFilterProxy.java:237)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
> gFilterProxy.java:167)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> ve.java:233)
> >        at
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
> alve.java:191)
> >        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> ve.java)
> >        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> a:127)
> >        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
> a:102)
> >        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> .java:109)
> >        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 298)
> >        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
> 57)
> >        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
> (Http11Protocol.java:588)
> >        at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >        at java.lang.Thread.run(Unknown Source)
> > 15:32:24.183 user [http-8888-2] WARN
>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
> handled by BufferedResponseRequestHandler
> >
> > Best regards,
> > Michal Wegrzyn
> >
> > -----Original Message-----
> > From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> > Sent: Tuesday, November 01, 2011 13:03
> > To: users@wicket.apache.org
> > Subject: RE: abort loading lazy components
> >
> > It seems that this is what I was looking for.
> >
> > Unfortunately I get ComponentNotFoundException already
> > during handling my new ajax request. It seems that
> > request handler tries to render component which does not
> > exist anymore (from page's previous state):
> >
> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
> not find component
> > 'path:to:my:lazy:component' on page 'class package.MyPage'
> >     at
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
> (PageAndComponentProvider.java:167)
> >     at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getCo
> mponent(ListenerInterfaceRequestHandler.java:81)
> >     at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respo
> nd(ListenerInterfaceRequestHandler.java:150)
> >     at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(Re
> questCycle.java:712)
> >     at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerSta
> ck.java:63)
> >     at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycl
> e.java:208)
> >     at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
> questCycle.java:251)
> >     at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
> r.java:162)
> >     at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
> :218)
> >
> > Best regards,
> > Michal Wegrzyn
> >
> > -----Original Message-----
> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > Sent: Tuesday, November 01, 2011 12:09
> > To: users@wicket.apache.org
> > Subject: Re: abort loading lazy components
> >
> > See org.apache.wicket.ajax.AjaxChannel.Type.DROP
> > You'll have to override AjaxLink#getChannel() to return DROP if you
> > want clicking on this AjaxLink to remove all scheduled ajax calls at
> > the client side.
> > But even with this improvement you'll still have to wait for the
> > currently being executed Ajax call (the first lazy loading
> component).
> >
> > On Tue, Nov 1, 2011 at 1:03 PM, Michal Wegrzyn
> <mi...@onior.com> wrote:
> >> Thanks for reply Martin.
> >>
> >> Using BookmarkablePageLink indeed cancels other lazy ajax requests,
> >> but then page is created from the scratch (as BookmarkablePageLink
> >> extends normal Link).
> >>
> >> At the moment only AjaxLinks are used (so they create just another
> ajax
> >> requests that are queued after ajax lazy requests) and one page, so
> >> I would like to do it without reloading whole page.
> >>
> >> Best regards,
> >> Michal Wegrzyn
> >>
> >> -----Original Message-----
> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> Sent: Tuesday, November 01, 2011 11:05
> >> To: users@wicket.apache.org
> >> Subject: Re: abort loading lazy components
> >>
> >> On Tue, Nov 1, 2011 at 10:36 AM, Michal Wegrzyn
> >> <mi...@onior.com> wrote:
> >>> Hello,
> >>>
> >>> In application which I am developing AjaxLazyLoadPanel is used for
> several components.
> >>> Wicket creates queue of synchronous Ajax requests for every lazy
> component.
> >>>
> >>> I saw several discussions about the way how Wicket loads the
> components
> >>> (and AFAIK Wicket can do it only synchronously), but I could not
> find anything about
> >>> canceling these requests.
> >>>
> >>> Now, even if user triggers new request, he still has to wait to
> load all lazy components.
> >>> Then Wicket continues with request which was triggered during
> loading lazy components.
> >>
> >> Even when the new request is issued by BookmarkablePageLink ?
> >>
> >> I can see how requests to the same page instance are queued but
> >> request to new page should be possible.
> >>
> >>>
> >>> Is there any way to cancel loading of the lazy components and
> handle new request immediately?
> >>>
> >>> Yours sincerely,
> >>>
> >>> Michal Wegrzyn
> >>>
> >>
> >>
> >>
> >> --
> >> Martin Grigorov
> >> jWeekend
> >> Training, Consulting, Development
> >> http://jWeekend.com
> >>
> >> --------------------------------------------------------------------
> -
> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> For additional commands, e-mail: users-help@wicket.apache.org
> >>
> >>
> >
> >
> >
> > --
> > Martin Grigorov
> > jWeekend
> > Training, Consulting, Development
> > http://jWeekend.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
Done https://issues.apache.org/jira/browse/WICKET-4227

Best regards,
Michal Wegrzyn

> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Monday, November 14, 2011 13:43
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> Ticket + quickstart
>
> On Mon, Nov 14, 2011 at 2:39 PM, Michal Wegrzyn
> <mi...@onior.com> wrote:
> > Just tried with 1.5.3 - unfortunately I still get an exception.
> >
> >> -----Original Message-----
> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> Sent: Thursday, November 10, 2011 14:50
> >> To: users@wicket.apache.org
> >> Subject: Re: abort loading lazy components
> >>
> >> This is fixed in 1.5.3 (currently in voting)
> >>
> >> On Thu, Nov 10, 2011 at 3:37 PM, Michal Wegrzyn
> >> <mi...@onior.com> wrote:
> >> >> -----Original Message-----
> >> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> >> Sent: Thursday, November 10, 2011 9:48
> >> >> To: users@wicket.apache.org
> >> >> Subject: Re: abort loading lazy components
> >> >>
> >> >> Hi,
> >> >>
> >> >> I see no solution for your case.
> >> >> Using BookmarkablePageLink works as you confirmed but I'm not
> aware
> >> of
> >> >> clean way to cancel running Ajax requests and replace them with
> >> >> completely new one.
> >> >>
> >> >> XMLHttpRequest has #abort() method which cancels the request but
> >> this
> >> >> will lead co "socket close exception"s in the server side.
> >> >>
> >> >
> >> > Right, I've already looked at XMLHttpRequest#abort(). It wouldn't
> be
> >> a "clean" solution anyway.
> >> >
> >> >> The best approach I see is to use the same AjaxChannel name for
> all
> >> >> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use
> type
> >> >> QUEUE and the AjaxLinks - type DROP. This way all LazyLoadPanels
> >> will
> >> >> load sequencially and if you click an AjaxLink it will cancel all
> >> >> pending LazyLoadPanels and will schedule the execution of the
> >> AjaxLink
> >> >> after the end of the currently loading LazyLoadPanel
> >> >>
> >> >> HTH
> >> >
> >> > That's what I've already done - Wicket schedules and executes
> >> AjaxLink action (it does not wait for other lazy panels - so far, so
> >> good ), but then (already during handling new ajax request) Wicket
> >> throws exception. Isn't it a Wicket bug?
> >> >
> >> > 15:31:11.847 user [http-8888-2] WARN
> >>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
> >> handled by BufferedResponseRequestHandler
> >> > 15:32:24.028 user [http-8888-5] ERROR
> >> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> >> > org.apache.wicket.request.handler.ComponentNotFoundException:
> Could
> >> not find component
> >> 'folders:listContainer:itemList:29:itemPanel:folder:children' on
> page
> >> 'class package.MyPage
> >> >        at
> >>
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
> >> (PageAndComponentProvider.java:167)
> >> >        at
> >>
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getCo
> >> mponent(ListenerInterfaceRequestHandler.java:92)
> >> >        at
> >>
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respo
> >> nd(ListenerInterfaceRequestHandler.java:169)
> >> >        at
> >>
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(Re
> >> questCycle.java:750)
> >> >        at
> >>
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerSta
> >> ck.java:64)
> >> >        at
> >>
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:
> >> 252)
> >> >        at
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycl
> >> e.java:209)
> >> >        at
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
> >> questCycle.java:280)
> >> >        at
> >>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
> >> r.java:162)
> >> >        at
> >>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
> >> :218)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> >> ationFilterChain.java:235)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> >> terChain.java:206)
> >> >        at
> >>
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> >> ationFilterChain.java:235)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> >> terChain.java:206)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:368)
> >> >        at
> >>
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> >> ptor.invoke(FilterSecurityInterceptor.java:109)
> >> >        at
> >>
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> >> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
> >> lter(ExceptionTranslationFilter.java:97)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.session.SessionManagementFilter.doFilt
> >> er(SessionManagementFilter.java:100)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.authentication.AnonymousAuthentication
> >> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
> >>
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
> >> oFilter(RequestCacheAwareFilter.java:35)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.authentication.AbstractAuthenticationP
> >>
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
> >> 7)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.authentication.logout.LogoutFilter.doF
> >> ilter(LogoutFilter.java:105)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.context.SecurityContextPersistenceFilt
> >> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
> >> roxy.java:169)
> >> >        at
> >>
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
> >> egatingFilterProxy.java:237)
> >> >        at
> >>
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
> >> gFilterProxy.java:167)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> >> ationFilterChain.java:235)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> >> terChain.java:206)
> >> >        at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> >> ve.java:233)
> >> >        at
> >>
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
> >> alve.java:191)
> >> >        at
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> >> ve.java)
> >> >        at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> >> a:127)
> >> >        at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
> >> a:102)
> >> >        at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> >> .java:109)
> >> >        at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> >> 298)
> >> >        at
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
> >> 57)
> >> >        at
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
> >> (Http11Protocol.java:588)
> >> >        at
> >>
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >> >        at java.lang.Thread.run(Unknown Source) 15:32:24.050 user
> >> [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error
> detaching
> >> RequestHandler
> >> > org.apache.wicket.request.handler.ComponentNotFoundException:
> Could
> >> not find component
> >> 'folders:listContainer:itemList:29:itemPanel:folder:children' on
> page
> >> 'class package.MyPage
> >> >        at
> >>
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
> >> (PageAndComponentProvider.java:167)
> >> >        at
> >>
> org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init
> >> >(ListenerInterfaceLogData.java:51)
> >> >        at
> >>
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detac
> >> h(ListenerInterfaceRequestHandler.java:134)
> >> >        at
> >>
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(Req
> >> uestCycle.java:761)
> >> >        at
> >>
> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStac
> >> k.java:180)
> >> >        at
> >>
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java
> >> :565)
> >> >        at
> >>
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:5
> >> 08)
> >> >        at
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
> >> questCycle.java:284)
> >> >        at
> >>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
> >> r.java:162)
> >> >        at
> >>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
> >> :218)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> >> ationFilterChain.java:235)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> >> terChain.java:206)
> >> >        at
> >>
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> >> ationFilterChain.java:235)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> >> terChain.java:206)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:368)
> >> >        at
> >>
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> >> ptor.invoke(FilterSecurityInterceptor.java:109)
> >> >        at
> >>
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> >> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
> >> lter(ExceptionTranslationFilter.java:97)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.session.SessionManagementFilter.doFilt
> >> er(SessionManagementFilter.java:100)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.authentication.AnonymousAuthentication
> >> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
> >>
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
> >> oFilter(RequestCacheAwareFilter.java:35)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.authentication.AbstractAuthenticationP
> >>
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
> >> 7)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.authentication.logout.LogoutFilter.doF
> >> ilter(LogoutFilter.java:105)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.context.SecurityContextPersistenceFilt
> >> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> >> Filter(FilterChainProxy.java:380)
> >> >        at
> >>
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
> >> roxy.java:169)
> >> >        at
> >>
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
> >> egatingFilterProxy.java:237)
> >> >        at
> >>
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
> >> gFilterProxy.java:167)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> >> ationFilterChain.java:235)
> >> >        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> >> terChain.java:206)
> >> >        at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> >> ve.java:233)
> >> >        at
> >>
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
> >> alve.java:191)
> >> >        at
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> >> ve.java)
> >> >        at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> >> a:127)
> >> >        at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
> >> a:102)
> >> >        at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> >> .java:109)
> >> >        at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> >> 298)
> >> >        at
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
> >> 57)
> >> >        at
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
> >> (Http11Protocol.java:588)
> >> >        at
> >>
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >> >        at java.lang.Thread.run(Unknown Source)
> >> > 15:32:24.183 user [http-8888-2] WARN
> >>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
> >> handled by BufferedResponseRequestHandler
> >> >
> >> >
> >> >> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
> >> >> <mi...@onior.com> wrote:
> >> >> > Hi,
> >> >> >
> >> >> > Could you please tell me what is the status of this issue?
> >> >> > Should I create a Jira issue and/or quickstart or is it won't
> >> >> fix/invalid?
> >> >> >
> >> >> > Best regards,
> >> >> > Michal Wegrzyn
> >> >> >
> >> >> >> -----Original Message-----
> >> >> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> >> >> Sent: Friday, November 04, 2011 11:56
> >> >> >> To: users@wicket.apache.org
> >> >> >> Subject: RE: abort loading lazy components
> >> >> >>
> >> >> >> Thanks for an update Martin.
> >> >> >>
> >> >> >> Unfortunately using IAjaxCallDecorator#decorateScript()
> prevents
> >> >> >> handling request (nothing happens).
> >> >> >> If I append the stop script directly to ajax request target
> >> (before
> >> >> >> sending event), then request proceeds, but the first lazy
> >> component
> >> >> is
> >> >> >> not loaded.
> >> >> >>
> >> >> >> Also, the stop script breaks ajax indicators (both from lazy
> >> >> components
> >> >> >> and indicating links). Exceptions still are present, but page
> >> isn't
> >> >> >> crashing.
> >> >> >>
> >> >> >> So far the closest solution was using BookmarkablePageLink,
> but
> >> it
> >> >> is
> >> >> >> not ajax and it is just a workaround.
> >> >> >>
> >> >> >> Isn't there a way to prevent Wicket from handling "old" ajax
> >> >> requests?
> >> >> >> I assume that's how it should work with DROP channel.
> >> >> >>
> >> >> >> Best regards,
> >> >> >> Michal Wegrzyn
> >> >> >>
> >> >> >> > -----Original Message-----
> >> >> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> >> >> > Sent: Thursday, November 03, 2011 17:54
> >> >> >> > To: users@wicket.apache.org
> >> >> >> > Subject: Re: abort loading lazy components
> >> >> >> >
> >> >> >> > Here is something that I didn't know so far:
> >> >> >> > http://stackoverflow.com/questions/930237/javascript-cancel-
> >> stop-
> >> >> >> image-
> >> >> >> > requests/1468452#1468452
> >> >> >> >
> >> >> >> > It seems there is a way to simulate browser's stop button
> with
> >> >> >> > JavaScript.
> >> >> >> > Try to use that code from
> IAjaxCallDecorator#decorateScript()
> >> for
> >> >> >> your
> >> >> >> > AjaxLink.
> >> >> >> >
> >> >> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
> >> >> >> > <mi...@onior.com> wrote:
> >> >> >> > > I've just debugged and indeed problem is that there is no
> >> >> component
> >> >> >> > with id "29".
> >> >> >> > > So clearly Wicket looks for an lazy "children" component
> from
> >> >> >> > outdated DataView component.
> >> >> >> > >
> >> >> >> > > Michal
> >> >> >> > >
> >> >> >> > >> -----Original Message-----
> >> >> >> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> >> >> > >> Sent: Wednesday, November 02, 2011 16:11
> >> >> >> > >> To: users@wicket.apache.org
> >> >> >> > >> Subject: RE: abort loading lazy components
> >> >> >> > >>
> >> >> >> > >> It is triggered when there is already new "itemList" (it
> >> >> extends
> >> >> >> > >> DataView), so I suppose that
> >> >> >> > >> PageAndComponentProvider looks for "itemList:29", which
> does
> >> >> not
> >> >> >> > exists
> >> >> >> > >> anymore.
> >> >> >> > >>
> >> >> >> > >> Scenario:
> >> >> >> > >>
> >> >> >> > >> - Page is loaded but lazy components
> >> >> >> > >>
> ('folders:listContainer:itemList:itemPanel:folder:children')
> >> >> are
> >> >> >> > still
> >> >> >> > >> loading
> >> >> >> > >> - User triggers folder change (itemList is replaced)
> >> >> >> > >> - Exception occurs
> >> >> >> > >>
> >> >> >> > >> If user triggers folder change when lazy components are
> >> >> completely
> >> >> >> > >> loaded (or during loading the last one) there is no
> >> exception
> >> >> at
> >> >> >> > all.
> >> >> >> > >>
> >> >> >> > >> Best Regards,
> >> >> >> > >> Michal Wegrzyn
> >> >> >> > >>
> >> >> >> > >> -----Original Message-----
> >> >> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> >> >> > >> Sent: Wednesday, November 02, 2011 15:54
> >> >> >> > >> To: users@wicket.apache.org
> >> >> >> > >> Subject: Re: abort loading lazy components
> >> >> >> > >>
> >> >> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> >> >> >> > >> <mi...@onior.com> wrote:
> >> >> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
> >> >> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error
> >> occurred
> >> >> >> > >> >
> >> org.apache.wicket.request.handler.ComponentNotFoundException:
> >> >> >> > Could
> >> >> >> > >> not find component
> >> >> >> > >>
> >> 'folders:listContainer:itemList:29:itemPanel:folder:children'
> >> >> on
> >> >> >> > page
> >> >> >> > >> 'class package.MyPage
> >> >> >> > >>
> >> >> >> > >> Do you know how this is triggered ?
> >> >> >> > >
> >> >> >> > >
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > --
> >> >> >> > Martin Grigorov
> >> >> >> > jWeekend
> >> >> >> > Training, Consulting, Development
> >> >> >> > http://jWeekend.com
> >> >> >> >
> >> >> >> > ------------------------------------------------------------
> ---
> >> ---
> >> >> ---
> >> >> >> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> >> >> > For additional commands, e-mail: users-
> help@wicket.apache.org
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Martin Grigorov
> >> >> jWeekend
> >> >> Training, Consulting, Development
> >> >> http://jWeekend.com
> >> >>
> >> >> -----------------------------------------------------------------
> ---
> >> -
> >> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> >> For additional commands, e-mail: users-help@wicket.apache.org
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Martin Grigorov
> >> jWeekend
> >> Training, Consulting, Development
> >> http://jWeekend.com
> >>
> >> --------------------------------------------------------------------
> -
> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
Hi Martin,

Thanks for the response. I thought that simple change in existing quickstart is better than completely new quickstart, but if it is more comfortable then no problem :)

Created https://issues.apache.org/jira/browse/WICKET-4470

Maybe WICKET-4397 can be already closed then, as WICKET-4470 describes everything.

Best regards,
Michal Wegrzyn

> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Monday, March 26, 2012 12:00
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> Hi Michal,
>
> Last time I tried your quickstart it was working OK with 1.5-SNAPSHOT.
> The problem is that you test with a different quickstart than the
> attached one in the ticket.
> First I made it working at 24 Nov, then you verified at 25 Nov, then I
> re-verified at 25 Jan and then you said "yeah, but I changed few things
> in the app locally and it breaks again".
>
> Please create a new ticket with a failing quickstart. I want to run the
> app and see the problem without any interventions from my side.
>
> On Mon, Mar 26, 2012 at 11:41 AM, Michal Wegrzyn
> <mi...@onior.com> wrote:
> > Hi,
> >
> > It seems that probably WICKET-4227 is not fixed. I am still getting
> problems in 1.5.5.
> >
> > If I override ajax channel like:
> >
> > @Override
> > protected AjaxChannel getChannel() {
> >        return new AjaxChannel( "0", AjaxChannel.Type.DROP ); }
> >
> > Only last item is loaded and other items are in continuous loading
> state - see WICKET-4397.
> >
> > With unique channel name:
> >
> > @Override
> > protected AjaxChannel getChannel() {
> >        return new AjaxChannel( String.valueOf(
> > System.currentTimeMillis() ), AjaxChannel.Type.DROP ); }
> >
> > lazy items are loaded asynchronously, however if I try to do action
> which results in drop, I am getting the same exception as in Wicket-
> 4227.
> >
> > Best regards,
> > Michal Wegrzyn
> >
> >> -----Original Message-----
> >> From: Michal Wegrzyn
> >> Sent: Tuesday, November 15, 2011 10:59
> >> To: 'users@wicket.apache.org'
> >> Subject: RE: abort loading lazy components
> >>
> >> Done https://issues.apache.org/jira/browse/WICKET-4227
> >>
> >> Best regards,
> >> Michal Wegrzyn
> >>
> >> > -----Original Message-----
> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> > Sent: Monday, November 14, 2011 13:43
> >> > To: users@wicket.apache.org
> >> > Subject: Re: abort loading lazy components
> >> >
> >> > Ticket + quickstart
> >> >
> >> > On Mon, Nov 14, 2011 at 2:39 PM, Michal Wegrzyn
> >> > <mi...@onior.com> wrote:
> >> > > Just tried with 1.5.3 - unfortunately I still get an exception.
> >> > >
> >> > >> -----Original Message-----
> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> > >> Sent: Thursday, November 10, 2011 14:50
> >> > >> To: users@wicket.apache.org
> >> > >> Subject: Re: abort loading lazy components
> >> > >>
> >> > >> This is fixed in 1.5.3 (currently in voting)
> >> > >>
> >> > >> On Thu, Nov 10, 2011 at 3:37 PM, Michal Wegrzyn
> >> > >> <mi...@onior.com> wrote:
> >> > >> >> -----Original Message-----
> >> > >> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> > >> >> Sent: Thursday, November 10, 2011 9:48
> >> > >> >> To: users@wicket.apache.org
> >> > >> >> Subject: Re: abort loading lazy components
> >> > >> >>
> >> > >> >> Hi,
> >> > >> >>
> >> > >> >> I see no solution for your case.
> >> > >> >> Using BookmarkablePageLink works as you confirmed but I'm
> not
> >> > aware
> >> > >> of
> >> > >> >> clean way to cancel running Ajax requests and replace them
> >> > >> >> with completely new one.
> >> > >> >>
> >> > >> >> XMLHttpRequest has #abort() method which cancels the request
> >> but
> >> > >> this
> >> > >> >> will lead co "socket close exception"s in the server side.
> >> > >> >>
> >> > >> >
> >> > >> > Right, I've already looked at XMLHttpRequest#abort(). It
> >> wouldn't
> >> > be
> >> > >> a "clean" solution anyway.
> >> > >> >
> >> > >> >> The best approach I see is to use the same AjaxChannel name
> >> > >> >> for
> >> > all
> >> > >> >> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should
> >> > >> >> use
> >> > type
> >> > >> >> QUEUE and the AjaxLinks - type DROP. This way all
> >> LazyLoadPanels
> >> > >> will
> >> > >> >> load sequencially and if you click an AjaxLink it will
> cancel
> >> > >> >> all pending LazyLoadPanels and will schedule the execution
> of
> >> > >> >> the
> >> > >> AjaxLink
> >> > >> >> after the end of the currently loading LazyLoadPanel
> >> > >> >>
> >> > >> >> HTH
> >> > >> >
> >> > >> > That's what I've already done - Wicket schedules and executes
> >> > >> AjaxLink action (it does not wait for other lazy panels - so
> >> > >> far, so good ), but then (already during handling new ajax
> >> > >> request) Wicket throws exception. Isn't it a Wicket bug?
> >> > >> >
> >> > >> > 15:31:11.847 user [http-8888-2] WARN
> >> > >>  o.a.w.r.h.render.WebPageRenderer - The Buffered response
> should
> >> be
> >> > >> handled by BufferedResponseRequestHandler
> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> >> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
> >> > Could
> >> > >> not find component
> >> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children'
> on
> >> > page
> >> > >> 'class package.MyPage
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.handler.PageAndComponentProvider.getCompone
> >> n
> >> > t
> >> > >> (PageAndComponentProvider.java:167)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.get
> >> C
> >> > o
> >> > >> mponent(ListenerInterfaceRequestHandler.java:92)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.res
> >> p
> >> > o
> >> > >> nd(ListenerInterfaceRequestHandler.java:169)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(
> >> R
> >> > e
> >> > >> questCycle.java:750)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerS
> >> t
> >> > a
> >> > >> ck.java:64)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:
> >> > >> 252)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCy
> >> c
> >> > l
> >> > >> e.java:209)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(
> >> R
> >> > e
> >> > >> questCycle.java:280)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFil
> >> t
> >> > e
> >> > >> r.java:162)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.ja
> >> v
> >> > a
> >> > >> :218)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> >> i
> >> > c
> >> > >> ationFilterChain.java:235)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> >> i
> >> > l
> >> > >> terChain.java:206)
> >> > >> >        at
> >> > >>
> >> >
> >>
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:4
> >> 3
> >> > )
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> >> i
> >> > c
> >> > >> ationFilterChain.java:235)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> >> i
> >> > l
> >> > >> terChain.java:206)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:368)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.access.intercept.FilterSecurityInter
> >> c
> >> > e
> >> > >> ptor.invoke(FilterSecurityInterceptor.java:109)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.access.intercept.FilterSecurityInter
> >> c
> >> > e
> >> > >> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.access.ExceptionTranslationFilter.do
> >> F
> >> > i
> >> > >> lter(ExceptionTranslationFilter.java:97)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.session.SessionManagementFilter.doFi
> >> l
> >> > t
> >> > >> er(SessionManagementFilter.java:100)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.authentication.AnonymousAuthenticati
> >> o
> >> > n
> >> > >> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.servletapi.SecurityContextHolderAwar
> >> e
> >> > R
> >> > >>
> >> >
> >>
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54
> >> )
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> >> > d
> >> > >> oFilter(RequestCacheAwareFilter.java:35)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.authentication.AbstractAuthenticatio
> >> n
> >> > P
> >> > >>
> >> >
> >>
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> >> 1
> >> > 8
> >> > >> 7)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.authentication.logout.LogoutFilter.d
> >> o
> >> > F
> >> > >> ilter(LogoutFilter.java:105)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.context.SecurityContextPersistenceFi
> >> l
> >> > t
> >> > >> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChai
> >> n
> >> > P
> >> > >> roxy.java:169)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(D
> >> e
> >> > l
> >> > >> egatingFilterProxy.java:237)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegat
> >> i
> >> > n
> >> > >> gFilterProxy.java:167)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> >> i
> >> > c
> >> > >> ationFilterChain.java:235)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> >> i
> >> > l
> >> > >> terChain.java:206)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> >> a
> >> > l
> >> > >> ve.java:233)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContex
> >> t
> >> > V
> >> > >> alve.java:191)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> >> a
> >> > l
> >> > >> ve.java)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> >> a
> >> > v
> >> > >> a:127)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> >> a
> >> > v
> >> > >> a:102)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> >> v
> >> > e
> >> > >> .java:109)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> >> > >> 298)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> >> > 8
> >> > >> 57)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
> >> s
> >> > s
> >> > >> (Http11Protocol.java:588)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:48
> >> 9
> >> > )
> >> > >> >        at java.lang.Thread.run(Unknown Source) 15:32:24.050
> >> > >> > user
> >> > >> [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error
> >> > detaching
> >> > >> RequestHandler
> >> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
> >> > Could
> >> > >> not find component
> >> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children'
> on
> >> > page
> >> > >> 'class package.MyPage
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.handler.PageAndComponentProvider.getCompone
> >> n
> >> > t
> >> > >> (PageAndComponentProvider.java:167)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<in
> >> i
> >> > t
> >> > >> >(ListenerInterfaceLogData.java:51)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.det
> >> a
> >> > c
> >> > >> h(ListenerInterfaceRequestHandler.java:134)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(R
> >> e
> >> > q
> >> > >> uestCycle.java:761)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerSt
> >> a
> >> > c
> >> > >> k.java:180)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.ja
> >> v
> >> > a
> >> > >> :565)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:
> >> > 5
> >> > >> 08)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(
> >> R
> >> > e
> >> > >> questCycle.java:284)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFil
> >> t
> >> > e
> >> > >> r.java:162)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.ja
> >> v
> >> > a
> >> > >> :218)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> >> i
> >> > c
> >> > >> ationFilterChain.java:235)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> >> i
> >> > l
> >> > >> terChain.java:206)
> >> > >> >        at
> >> > >>
> >> >
> >>
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:4
> >> 3
> >> > )
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> >> i
> >> > c
> >> > >> ationFilterChain.java:235)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> >> i
> >> > l
> >> > >> terChain.java:206)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:368)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.access.intercept.FilterSecurityInter
> >> c
> >> > e
> >> > >> ptor.invoke(FilterSecurityInterceptor.java:109)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.access.intercept.FilterSecurityInter
> >> c
> >> > e
> >> > >> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.access.ExceptionTranslationFilter.do
> >> F
> >> > i
> >> > >> lter(ExceptionTranslationFilter.java:97)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.session.SessionManagementFilter.doFi
> >> l
> >> > t
> >> > >> er(SessionManagementFilter.java:100)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.authentication.AnonymousAuthenticati
> >> o
> >> > n
> >> > >> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.servletapi.SecurityContextHolderAwar
> >> e
> >> > R
> >> > >>
> >> >
> >>
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54
> >> )
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> >> > d
> >> > >> oFilter(RequestCacheAwareFilter.java:35)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.authentication.AbstractAuthenticatio
> >> n
> >> > P
> >> > >>
> >> >
> >>
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> >> 1
> >> > 8
> >> > >> 7)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.authentication.logout.LogoutFilter.d
> >> o
> >> > F
> >> > >> ilter(LogoutFilter.java:105)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.context.SecurityContextPersistenceFi
> >> l
> >> > t
> >> > >> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.
> >> d
> >> > o
> >> > >> Filter(FilterChainProxy.java:380)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChai
> >> n
> >> > P
> >> > >> roxy.java:169)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(D
> >> e
> >> > l
> >> > >> egatingFilterProxy.java:237)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegat
> >> i
> >> > n
> >> > >> gFilterProxy.java:167)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> >> i
> >> > c
> >> > >> ationFilterChain.java:235)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> >> i
> >> > l
> >> > >> terChain.java:206)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> >> a
> >> > l
> >> > >> ve.java:233)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContex
> >> t
> >> > V
> >> > >> alve.java:191)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> >> a
> >> > l
> >> > >> ve.java)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> >> a
> >> > v
> >> > >> a:127)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> >> a
> >> > v
> >> > >> a:102)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> >> v
> >> > e
> >> > >> .java:109)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> >> > >> 298)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> >> > 8
> >> > >> 57)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
> >> s
> >> > s
> >> > >> (Http11Protocol.java:588)
> >> > >> >        at
> >> > >>
> >> >
> >>
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:48
> >> 9
> >> > )
> >> > >> >        at java.lang.Thread.run(Unknown Source)
> >> > >> > 15:32:24.183 user [http-8888-2] WARN
> >> > >>  o.a.w.r.h.render.WebPageRenderer - The Buffered response
> should
> >> be
> >> > >> handled by BufferedResponseRequestHandler
> >> > >> >
> >> > >> >
> >> > >> >> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
> >> > >> >> <mi...@onior.com> wrote:
> >> > >> >> > Hi,
> >> > >> >> >
> >> > >> >> > Could you please tell me what is the status of this issue?
> >> > >> >> > Should I create a Jira issue and/or quickstart or is it
> >> > >> >> > won't
> >> > >> >> fix/invalid?
> >> > >> >> >
> >> > >> >> > Best regards,
> >> > >> >> > Michal Wegrzyn
> >> > >> >> >
> >> > >> >> >> -----Original Message-----
> >> > >> >> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> > >> >> >> Sent: Friday, November 04, 2011 11:56
> >> > >> >> >> To: users@wicket.apache.org
> >> > >> >> >> Subject: RE: abort loading lazy components
> >> > >> >> >>
> >> > >> >> >> Thanks for an update Martin.
> >> > >> >> >>
> >> > >> >> >> Unfortunately using IAjaxCallDecorator#decorateScript()
> >> > prevents
> >> > >> >> >> handling request (nothing happens).
> >> > >> >> >> If I append the stop script directly to ajax request
> >> > >> >> >> target
> >> > >> (before
> >> > >> >> >> sending event), then request proceeds, but the first lazy
> >> > >> component
> >> > >> >> is
> >> > >> >> >> not loaded.
> >> > >> >> >>
> >> > >> >> >> Also, the stop script breaks ajax indicators (both from
> >> > >> >> >> lazy
> >> > >> >> components
> >> > >> >> >> and indicating links). Exceptions still are present, but
> >> page
> >> > >> isn't
> >> > >> >> >> crashing.
> >> > >> >> >>
> >> > >> >> >> So far the closest solution was using
> >> > >> >> >> BookmarkablePageLink,
> >> > but
> >> > >> it
> >> > >> >> is
> >> > >> >> >> not ajax and it is just a workaround.
> >> > >> >> >>
> >> > >> >> >> Isn't there a way to prevent Wicket from handling "old"
> >> > >> >> >> ajax
> >> > >> >> requests?
> >> > >> >> >> I assume that's how it should work with DROP channel.
> >> > >> >> >>
> >> > >> >> >> Best regards,
> >> > >> >> >> Michal Wegrzyn
> >> > >> >> >>
> >> > >> >> >> > -----Original Message-----
> >> > >> >> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> > >> >> >> > Sent: Thursday, November 03, 2011 17:54
> >> > >> >> >> > To: users@wicket.apache.org
> >> > >> >> >> > Subject: Re: abort loading lazy components
> >> > >> >> >> >
> >> > >> >> >> > Here is something that I didn't know so far:
> >> > >> >> >> > http://stackoverflow.com/questions/930237/javascript-
> >> cancel
> >> > >> >> >> > -
> >> > >> stop-
> >> > >> >> >> image-
> >> > >> >> >> > requests/1468452#1468452
> >> > >> >> >> >
> >> > >> >> >> > It seems there is a way to simulate browser's stop
> >> > >> >> >> > button
> >> > with
> >> > >> >> >> > JavaScript.
> >> > >> >> >> > Try to use that code from
> >> > IAjaxCallDecorator#decorateScript()
> >> > >> for
> >> > >> >> >> your
> >> > >> >> >> > AjaxLink.
> >> > >> >> >> >
> >> > >> >> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
> >> > >> >> >> > <mi...@onior.com> wrote:
> >> > >> >> >> > > I've just debugged and indeed problem is that there
> is
> >> no
> >> > >> >> component
> >> > >> >> >> > with id "29".
> >> > >> >> >> > > So clearly Wicket looks for an lazy "children"
> >> > >> >> >> > > component
> >> > from
> >> > >> >> >> > outdated DataView component.
> >> > >> >> >> > >
> >> > >> >> >> > > Michal
> >> > >> >> >> > >
> >> > >> >> >> > >> -----Original Message-----
> >> > >> >> >> > >> From: Michal Wegrzyn
> >> > >> >> >> > >> [mailto:michal.wegrzyn@onior.com]
> >> > >> >> >> > >> Sent: Wednesday, November 02, 2011 16:11
> >> > >> >> >> > >> To: users@wicket.apache.org
> >> > >> >> >> > >> Subject: RE: abort loading lazy components
> >> > >> >> >> > >>
> >> > >> >> >> > >> It is triggered when there is already new "itemList"
> >> (it
> >> > >> >> extends
> >> > >> >> >> > >> DataView), so I suppose that
> PageAndComponentProvider
> >> > >> >> >> > >> looks for "itemList:29", which
> >> > does
> >> > >> >> not
> >> > >> >> >> > exists
> >> > >> >> >> > >> anymore.
> >> > >> >> >> > >>
> >> > >> >> >> > >> Scenario:
> >> > >> >> >> > >>
> >> > >> >> >> > >> - Page is loaded but lazy components
> >> > >> >> >> > >>
> >> > ('folders:listContainer:itemList:itemPanel:folder:children')
> >> > >> >> are
> >> > >> >> >> > still
> >> > >> >> >> > >> loading
> >> > >> >> >> > >> - User triggers folder change (itemList is replaced)
> >> > >> >> >> > >> - Exception occurs
> >> > >> >> >> > >>
> >> > >> >> >> > >> If user triggers folder change when lazy components
> >> > >> >> >> > >> are
> >> > >> >> completely
> >> > >> >> >> > >> loaded (or during loading the last one) there is no
> >> > >> exception
> >> > >> >> at
> >> > >> >> >> > all.
> >> > >> >> >> > >>
> >> > >> >> >> > >> Best Regards,
> >> > >> >> >> > >> Michal Wegrzyn
> >> > >> >> >> > >>
> >> > >> >> >> > >> -----Original Message-----
> >> > >> >> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> > >> >> >> > >> Sent: Wednesday, November 02, 2011 15:54
> >> > >> >> >> > >> To: users@wicket.apache.org
> >> > >> >> >> > >> Subject: Re: abort loading lazy components
> >> > >> >> >> > >>
> >> > >> >> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> >> > >> >> >> > >> <mi...@onior.com> wrote:
> >> > >> >> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
> >> > >> >> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error
> >> > >> occurred
> >> > >> >> >> > >> >
> >> > >> org.apache.wicket.request.handler.ComponentNotFoundException:
> >> > >> >> >> > Could
> >> > >> >> >> > >> not find component
> >> > >> >> >> > >>
> >> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children'
> >> > >> >> on
> >> > >> >> >> > page
> >> > >> >> >> > >> 'class package.MyPage
> >> > >> >> >> > >>
> >> > >> >> >> > >> Do you know how this is triggered ?
> >> > >> >> >> > >
> >> > >> >> >> > >
> >> > >> >> >> >
> >> > >> >> >> >
> >> > >> >> >> >
> >> > >> >> >> > --
> >> > >> >> >> > Martin Grigorov
> >> > >> >> >> > jWeekend
> >> > >> >> >> > Training, Consulting, Development http://jWeekend.com
> >> > >> >> >> >
> >> > >> >> >> > -------------------------------------------------------
> -
> >> > >> >> >> > --
> >> -
> >> > >> >> >> > -
> >> > ---
> >> > >> ---
> >> > >> >> ---
> >> > >> >> >> > To unsubscribe, e-mail: users-
> >> unsubscribe@wicket.apache.org
> >> > >> >> >> > For additional commands, e-mail: users-
> >> > help@wicket.apache.org
> >> > >> >> >
> >> > >> >> >
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >> --
> >> > >> >> Martin Grigorov
> >> > >> >> jWeekend
> >> > >> >> Training, Consulting, Development http://jWeekend.com
> >> > >> >>
> >> > >> >> ------------------------------------------------------------
> -
> >> > >> >> --
> >> -
> >> > >> >> -
> >> > ---
> >> > >> -
> >> > >> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> > >> >> For additional commands, e-mail: users-
> help@wicket.apache.org
> >> > >> >
> >> > >> >
> >> > >>
> >> > >>
> >> > >>
> >> > >> --
> >> > >> Martin Grigorov
> >> > >> jWeekend
> >> > >> Training, Consulting, Development http://jWeekend.com
> >> > >>
> >> > >> ---------------------------------------------------------------
> -
> >> > >> --
> >> -
> >> > >> -
> >> > -
> >> > >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> > >> For additional commands, e-mail: users-help@wicket.apache.org
> >> > >
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > Martin Grigorov
> >> > jWeekend
> >> > Training, Consulting, Development
> >> > http://jWeekend.com
> >> >
> >> > ------------------------------------------------------------------
> -
> >> > -- To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> > For additional commands, e-mail: users-help@wicket.apache.org
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: abort loading lazy components

Posted by Martin Grigorov <mg...@apache.org>.
Hi Michal,

Last time I tried your quickstart it was working OK with 1.5-SNAPSHOT.
The problem is that you test with a different quickstart than the
attached one in the ticket.
First I made it working at 24 Nov, then you verified at 25 Nov, then I
re-verified at 25 Jan and then you said "yeah, but I changed few
things in the app locally and it breaks again".

Please create a new ticket with a failing quickstart. I want to run
the app and see the problem without any interventions from my side.

On Mon, Mar 26, 2012 at 11:41 AM, Michal Wegrzyn
<mi...@onior.com> wrote:
> Hi,
>
> It seems that probably WICKET-4227 is not fixed. I am still getting problems in 1.5.5.
>
> If I override ajax channel like:
>
> @Override
> protected AjaxChannel getChannel() {
>        return new AjaxChannel( "0", AjaxChannel.Type.DROP );
> }
>
> Only last item is loaded and other items are in continuous loading state - see WICKET-4397.
>
> With unique channel name:
>
> @Override
> protected AjaxChannel getChannel() {
>        return new AjaxChannel( String.valueOf( System.currentTimeMillis() ), AjaxChannel.Type.DROP );
> }
>
> lazy items are loaded asynchronously, however if I try to do action which results in drop, I am getting the same exception as in Wicket-4227.
>
> Best regards,
> Michal Wegrzyn
>
>> -----Original Message-----
>> From: Michal Wegrzyn
>> Sent: Tuesday, November 15, 2011 10:59
>> To: 'users@wicket.apache.org'
>> Subject: RE: abort loading lazy components
>>
>> Done https://issues.apache.org/jira/browse/WICKET-4227
>>
>> Best regards,
>> Michal Wegrzyn
>>
>> > -----Original Message-----
>> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> > Sent: Monday, November 14, 2011 13:43
>> > To: users@wicket.apache.org
>> > Subject: Re: abort loading lazy components
>> >
>> > Ticket + quickstart
>> >
>> > On Mon, Nov 14, 2011 at 2:39 PM, Michal Wegrzyn
>> > <mi...@onior.com> wrote:
>> > > Just tried with 1.5.3 - unfortunately I still get an exception.
>> > >
>> > >> -----Original Message-----
>> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> > >> Sent: Thursday, November 10, 2011 14:50
>> > >> To: users@wicket.apache.org
>> > >> Subject: Re: abort loading lazy components
>> > >>
>> > >> This is fixed in 1.5.3 (currently in voting)
>> > >>
>> > >> On Thu, Nov 10, 2011 at 3:37 PM, Michal Wegrzyn
>> > >> <mi...@onior.com> wrote:
>> > >> >> -----Original Message-----
>> > >> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> > >> >> Sent: Thursday, November 10, 2011 9:48
>> > >> >> To: users@wicket.apache.org
>> > >> >> Subject: Re: abort loading lazy components
>> > >> >>
>> > >> >> Hi,
>> > >> >>
>> > >> >> I see no solution for your case.
>> > >> >> Using BookmarkablePageLink works as you confirmed but I'm not
>> > aware
>> > >> of
>> > >> >> clean way to cancel running Ajax requests and replace them with
>> > >> >> completely new one.
>> > >> >>
>> > >> >> XMLHttpRequest has #abort() method which cancels the request
>> but
>> > >> this
>> > >> >> will lead co "socket close exception"s in the server side.
>> > >> >>
>> > >> >
>> > >> > Right, I've already looked at XMLHttpRequest#abort(). It
>> wouldn't
>> > be
>> > >> a "clean" solution anyway.
>> > >> >
>> > >> >> The best approach I see is to use the same AjaxChannel name for
>> > all
>> > >> >> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use
>> > type
>> > >> >> QUEUE and the AjaxLinks - type DROP. This way all
>> LazyLoadPanels
>> > >> will
>> > >> >> load sequencially and if you click an AjaxLink it will cancel
>> > >> >> all pending LazyLoadPanels and will schedule the execution of
>> > >> >> the
>> > >> AjaxLink
>> > >> >> after the end of the currently loading LazyLoadPanel
>> > >> >>
>> > >> >> HTH
>> > >> >
>> > >> > That's what I've already done - Wicket schedules and executes
>> > >> AjaxLink action (it does not wait for other lazy panels - so far,
>> > >> so good ), but then (already during handling new ajax request)
>> > >> Wicket throws exception. Isn't it a Wicket bug?
>> > >> >
>> > >> > 15:31:11.847 user [http-8888-2] WARN
>> > >>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should
>> be
>> > >> handled by BufferedResponseRequestHandler
>> > >> > 15:32:24.028 user [http-8888-5] ERROR
>> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
>> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
>> > Could
>> > >> not find component
>> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children' on
>> > page
>> > >> 'class package.MyPage
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.handler.PageAndComponentProvider.getComponen
>> > t
>> > >> (PageAndComponentProvider.java:167)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getC
>> > o
>> > >> mponent(ListenerInterfaceRequestHandler.java:92)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.resp
>> > o
>> > >> nd(ListenerInterfaceRequestHandler.java:169)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(R
>> > e
>> > >> questCycle.java:750)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerSt
>> > a
>> > >> ck.java:64)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:
>> > >> 252)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCyc
>> > l
>> > >> e.java:209)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(R
>> > e
>> > >> questCycle.java:280)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilt
>> > e
>> > >> r.java:162)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.jav
>> > a
>> > >> :218)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> > c
>> > >> ationFilterChain.java:235)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> > l
>> > >> terChain.java:206)
>> > >> >        at
>> > >>
>> >
>> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43
>> > )
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> > c
>> > >> ationFilterChain.java:235)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> > l
>> > >> terChain.java:206)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:368)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.access.intercept.FilterSecurityInterc
>> > e
>> > >> ptor.invoke(FilterSecurityInterceptor.java:109)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.access.intercept.FilterSecurityInterc
>> > e
>> > >> ptor.doFilter(FilterSecurityInterceptor.java:83)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.access.ExceptionTranslationFilter.doF
>> > i
>> > >> lter(ExceptionTranslationFilter.java:97)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.session.SessionManagementFilter.doFil
>> > t
>> > >> er(SessionManagementFilter.java:100)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.authentication.AnonymousAuthenticatio
>> > n
>> > >> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.servletapi.SecurityContextHolderAware
>> > R
>> > >>
>> >
>> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
>> > d
>> > >> oFilter(RequestCacheAwareFilter.java:35)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.authentication.AbstractAuthentication
>> > P
>> > >>
>> >
>> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:1
>> > 8
>> > >> 7)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.authentication.logout.LogoutFilter.do
>> > F
>> > >> ilter(LogoutFilter.java:105)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.context.SecurityContextPersistenceFil
>> > t
>> > >> er.doFilter(SecurityContextPersistenceFilter.java:79)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
>> > P
>> > >> roxy.java:169)
>> > >> >        at
>> > >>
>> >
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
>> > l
>> > >> egatingFilterProxy.java:237)
>> > >> >        at
>> > >>
>> >
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
>> > n
>> > >> gFilterProxy.java:167)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> > c
>> > >> ationFilterChain.java:235)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> > l
>> > >> terChain.java:206)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>> > l
>> > >> ve.java:233)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardContextValve.__invoke(StandardContext
>> > V
>> > >> alve.java:191)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>> > l
>> > >> ve.java)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>> > v
>> > >> a:127)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>> > v
>> > >> a:102)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>> > e
>> > >> .java:109)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> > >> 298)
>> > >> >        at
>> > >>
>> >
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>> > 8
>> > >> 57)
>> > >> >        at
>> > >>
>> >
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>> > s
>> > >> (Http11Protocol.java:588)
>> > >> >        at
>> > >>
>> >
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489
>> > )
>> > >> >        at java.lang.Thread.run(Unknown Source) 15:32:24.050 user
>> > >> [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error
>> > detaching
>> > >> RequestHandler
>> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
>> > Could
>> > >> not find component
>> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children' on
>> > page
>> > >> 'class package.MyPage
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.handler.PageAndComponentProvider.getComponen
>> > t
>> > >> (PageAndComponentProvider.java:167)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<ini
>> > t
>> > >> >(ListenerInterfaceLogData.java:51)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.deta
>> > c
>> > >> h(ListenerInterfaceRequestHandler.java:134)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(Re
>> > q
>> > >> uestCycle.java:761)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerSta
>> > c
>> > >> k.java:180)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.jav
>> > a
>> > >> :565)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:
>> > 5
>> > >> 08)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(R
>> > e
>> > >> questCycle.java:284)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilt
>> > e
>> > >> r.java:162)
>> > >> >        at
>> > >>
>> >
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.jav
>> > a
>> > >> :218)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> > c
>> > >> ationFilterChain.java:235)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> > l
>> > >> terChain.java:206)
>> > >> >        at
>> > >>
>> >
>> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43
>> > )
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> > c
>> > >> ationFilterChain.java:235)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> > l
>> > >> terChain.java:206)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:368)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.access.intercept.FilterSecurityInterc
>> > e
>> > >> ptor.invoke(FilterSecurityInterceptor.java:109)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.access.intercept.FilterSecurityInterc
>> > e
>> > >> ptor.doFilter(FilterSecurityInterceptor.java:83)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.access.ExceptionTranslationFilter.doF
>> > i
>> > >> lter(ExceptionTranslationFilter.java:97)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.session.SessionManagementFilter.doFil
>> > t
>> > >> er(SessionManagementFilter.java:100)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.authentication.AnonymousAuthenticatio
>> > n
>> > >> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.servletapi.SecurityContextHolderAware
>> > R
>> > >>
>> >
>> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
>> > d
>> > >> oFilter(RequestCacheAwareFilter.java:35)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.authentication.AbstractAuthentication
>> > P
>> > >>
>> >
>> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:1
>> > 8
>> > >> 7)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.authentication.logout.LogoutFilter.do
>> > F
>> > >> ilter(LogoutFilter.java:105)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.context.SecurityContextPersistenceFil
>> > t
>> > >> er.doFilter(SecurityContextPersistenceFilter.java:79)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
>> > o
>> > >> Filter(FilterChainProxy.java:380)
>> > >> >        at
>> > >>
>> >
>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
>> > P
>> > >> roxy.java:169)
>> > >> >        at
>> > >>
>> >
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
>> > l
>> > >> egatingFilterProxy.java:237)
>> > >> >        at
>> > >>
>> >
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
>> > n
>> > >> gFilterProxy.java:167)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>> > c
>> > >> ationFilterChain.java:235)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>> > l
>> > >> terChain.java:206)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>> > l
>> > >> ve.java:233)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardContextValve.__invoke(StandardContext
>> > V
>> > >> alve.java:191)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>> > l
>> > >> ve.java)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>> > v
>> > >> a:127)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>> > v
>> > >> a:102)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>> > e
>> > >> .java:109)
>> > >> >        at
>> > >>
>> >
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> > >> 298)
>> > >> >        at
>> > >>
>> >
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>> > 8
>> > >> 57)
>> > >> >        at
>> > >>
>> >
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>> > s
>> > >> (Http11Protocol.java:588)
>> > >> >        at
>> > >>
>> >
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489
>> > )
>> > >> >        at java.lang.Thread.run(Unknown Source)
>> > >> > 15:32:24.183 user [http-8888-2] WARN
>> > >>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should
>> be
>> > >> handled by BufferedResponseRequestHandler
>> > >> >
>> > >> >
>> > >> >> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
>> > >> >> <mi...@onior.com> wrote:
>> > >> >> > Hi,
>> > >> >> >
>> > >> >> > Could you please tell me what is the status of this issue?
>> > >> >> > Should I create a Jira issue and/or quickstart or is it won't
>> > >> >> fix/invalid?
>> > >> >> >
>> > >> >> > Best regards,
>> > >> >> > Michal Wegrzyn
>> > >> >> >
>> > >> >> >> -----Original Message-----
>> > >> >> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
>> > >> >> >> Sent: Friday, November 04, 2011 11:56
>> > >> >> >> To: users@wicket.apache.org
>> > >> >> >> Subject: RE: abort loading lazy components
>> > >> >> >>
>> > >> >> >> Thanks for an update Martin.
>> > >> >> >>
>> > >> >> >> Unfortunately using IAjaxCallDecorator#decorateScript()
>> > prevents
>> > >> >> >> handling request (nothing happens).
>> > >> >> >> If I append the stop script directly to ajax request target
>> > >> (before
>> > >> >> >> sending event), then request proceeds, but the first lazy
>> > >> component
>> > >> >> is
>> > >> >> >> not loaded.
>> > >> >> >>
>> > >> >> >> Also, the stop script breaks ajax indicators (both from lazy
>> > >> >> components
>> > >> >> >> and indicating links). Exceptions still are present, but
>> page
>> > >> isn't
>> > >> >> >> crashing.
>> > >> >> >>
>> > >> >> >> So far the closest solution was using BookmarkablePageLink,
>> > but
>> > >> it
>> > >> >> is
>> > >> >> >> not ajax and it is just a workaround.
>> > >> >> >>
>> > >> >> >> Isn't there a way to prevent Wicket from handling "old" ajax
>> > >> >> requests?
>> > >> >> >> I assume that's how it should work with DROP channel.
>> > >> >> >>
>> > >> >> >> Best regards,
>> > >> >> >> Michal Wegrzyn
>> > >> >> >>
>> > >> >> >> > -----Original Message-----
>> > >> >> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> > >> >> >> > Sent: Thursday, November 03, 2011 17:54
>> > >> >> >> > To: users@wicket.apache.org
>> > >> >> >> > Subject: Re: abort loading lazy components
>> > >> >> >> >
>> > >> >> >> > Here is something that I didn't know so far:
>> > >> >> >> > http://stackoverflow.com/questions/930237/javascript-
>> cancel
>> > >> >> >> > -
>> > >> stop-
>> > >> >> >> image-
>> > >> >> >> > requests/1468452#1468452
>> > >> >> >> >
>> > >> >> >> > It seems there is a way to simulate browser's stop button
>> > with
>> > >> >> >> > JavaScript.
>> > >> >> >> > Try to use that code from
>> > IAjaxCallDecorator#decorateScript()
>> > >> for
>> > >> >> >> your
>> > >> >> >> > AjaxLink.
>> > >> >> >> >
>> > >> >> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
>> > >> >> >> > <mi...@onior.com> wrote:
>> > >> >> >> > > I've just debugged and indeed problem is that there is
>> no
>> > >> >> component
>> > >> >> >> > with id "29".
>> > >> >> >> > > So clearly Wicket looks for an lazy "children" component
>> > from
>> > >> >> >> > outdated DataView component.
>> > >> >> >> > >
>> > >> >> >> > > Michal
>> > >> >> >> > >
>> > >> >> >> > >> -----Original Message-----
>> > >> >> >> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
>> > >> >> >> > >> Sent: Wednesday, November 02, 2011 16:11
>> > >> >> >> > >> To: users@wicket.apache.org
>> > >> >> >> > >> Subject: RE: abort loading lazy components
>> > >> >> >> > >>
>> > >> >> >> > >> It is triggered when there is already new "itemList"
>> (it
>> > >> >> extends
>> > >> >> >> > >> DataView), so I suppose that PageAndComponentProvider
>> > >> >> >> > >> looks for "itemList:29", which
>> > does
>> > >> >> not
>> > >> >> >> > exists
>> > >> >> >> > >> anymore.
>> > >> >> >> > >>
>> > >> >> >> > >> Scenario:
>> > >> >> >> > >>
>> > >> >> >> > >> - Page is loaded but lazy components
>> > >> >> >> > >>
>> > ('folders:listContainer:itemList:itemPanel:folder:children')
>> > >> >> are
>> > >> >> >> > still
>> > >> >> >> > >> loading
>> > >> >> >> > >> - User triggers folder change (itemList is replaced)
>> > >> >> >> > >> - Exception occurs
>> > >> >> >> > >>
>> > >> >> >> > >> If user triggers folder change when lazy components are
>> > >> >> completely
>> > >> >> >> > >> loaded (or during loading the last one) there is no
>> > >> exception
>> > >> >> at
>> > >> >> >> > all.
>> > >> >> >> > >>
>> > >> >> >> > >> Best Regards,
>> > >> >> >> > >> Michal Wegrzyn
>> > >> >> >> > >>
>> > >> >> >> > >> -----Original Message-----
>> > >> >> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> > >> >> >> > >> Sent: Wednesday, November 02, 2011 15:54
>> > >> >> >> > >> To: users@wicket.apache.org
>> > >> >> >> > >> Subject: Re: abort loading lazy components
>> > >> >> >> > >>
>> > >> >> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
>> > >> >> >> > >> <mi...@onior.com> wrote:
>> > >> >> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
>> > >> >> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error
>> > >> occurred
>> > >> >> >> > >> >
>> > >> org.apache.wicket.request.handler.ComponentNotFoundException:
>> > >> >> >> > Could
>> > >> >> >> > >> not find component
>> > >> >> >> > >>
>> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children'
>> > >> >> on
>> > >> >> >> > page
>> > >> >> >> > >> 'class package.MyPage
>> > >> >> >> > >>
>> > >> >> >> > >> Do you know how this is triggered ?
>> > >> >> >> > >
>> > >> >> >> > >
>> > >> >> >> >
>> > >> >> >> >
>> > >> >> >> >
>> > >> >> >> > --
>> > >> >> >> > Martin Grigorov
>> > >> >> >> > jWeekend
>> > >> >> >> > Training, Consulting, Development http://jWeekend.com
>> > >> >> >> >
>> > >> >> >> > ----------------------------------------------------------
>> -
>> > >> >> >> > -
>> > ---
>> > >> ---
>> > >> >> ---
>> > >> >> >> > To unsubscribe, e-mail: users-
>> unsubscribe@wicket.apache.org
>> > >> >> >> > For additional commands, e-mail: users-
>> > help@wicket.apache.org
>> > >> >> >
>> > >> >> >
>> > >> >>
>> > >> >>
>> > >> >>
>> > >> >> --
>> > >> >> Martin Grigorov
>> > >> >> jWeekend
>> > >> >> Training, Consulting, Development http://jWeekend.com
>> > >> >>
>> > >> >> ---------------------------------------------------------------
>> -
>> > >> >> -
>> > ---
>> > >> -
>> > >> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> > >> >> For additional commands, e-mail: users-help@wicket.apache.org
>> > >> >
>> > >> >
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >> Martin Grigorov
>> > >> jWeekend
>> > >> Training, Consulting, Development
>> > >> http://jWeekend.com
>> > >>
>> > >> ------------------------------------------------------------------
>> -
>> > >> -
>> > -
>> > >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> > >> For additional commands, e-mail: users-help@wicket.apache.org
>> > >
>> > >
>> >
>> >
>> >
>> > --
>> > Martin Grigorov
>> > jWeekend
>> > Training, Consulting, Development
>> > http://jWeekend.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> > For additional commands, e-mail: users-help@wicket.apache.org
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
Hi,

It seems that probably WICKET-4227 is not fixed. I am still getting problems in 1.5.5.

If I override ajax channel like:

@Override
protected AjaxChannel getChannel() {
        return new AjaxChannel( "0", AjaxChannel.Type.DROP );
}

Only last item is loaded and other items are in continuous loading state - see WICKET-4397.

With unique channel name:

@Override
protected AjaxChannel getChannel() {
        return new AjaxChannel( String.valueOf( System.currentTimeMillis() ), AjaxChannel.Type.DROP );
}

lazy items are loaded asynchronously, however if I try to do action which results in drop, I am getting the same exception as in Wicket-4227.

Best regards,
Michal Wegrzyn

> -----Original Message-----
> From: Michal Wegrzyn
> Sent: Tuesday, November 15, 2011 10:59
> To: 'users@wicket.apache.org'
> Subject: RE: abort loading lazy components
>
> Done https://issues.apache.org/jira/browse/WICKET-4227
>
> Best regards,
> Michal Wegrzyn
>
> > -----Original Message-----
> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > Sent: Monday, November 14, 2011 13:43
> > To: users@wicket.apache.org
> > Subject: Re: abort loading lazy components
> >
> > Ticket + quickstart
> >
> > On Mon, Nov 14, 2011 at 2:39 PM, Michal Wegrzyn
> > <mi...@onior.com> wrote:
> > > Just tried with 1.5.3 - unfortunately I still get an exception.
> > >
> > >> -----Original Message-----
> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > >> Sent: Thursday, November 10, 2011 14:50
> > >> To: users@wicket.apache.org
> > >> Subject: Re: abort loading lazy components
> > >>
> > >> This is fixed in 1.5.3 (currently in voting)
> > >>
> > >> On Thu, Nov 10, 2011 at 3:37 PM, Michal Wegrzyn
> > >> <mi...@onior.com> wrote:
> > >> >> -----Original Message-----
> > >> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > >> >> Sent: Thursday, November 10, 2011 9:48
> > >> >> To: users@wicket.apache.org
> > >> >> Subject: Re: abort loading lazy components
> > >> >>
> > >> >> Hi,
> > >> >>
> > >> >> I see no solution for your case.
> > >> >> Using BookmarkablePageLink works as you confirmed but I'm not
> > aware
> > >> of
> > >> >> clean way to cancel running Ajax requests and replace them with
> > >> >> completely new one.
> > >> >>
> > >> >> XMLHttpRequest has #abort() method which cancels the request
> but
> > >> this
> > >> >> will lead co "socket close exception"s in the server side.
> > >> >>
> > >> >
> > >> > Right, I've already looked at XMLHttpRequest#abort(). It
> wouldn't
> > be
> > >> a "clean" solution anyway.
> > >> >
> > >> >> The best approach I see is to use the same AjaxChannel name for
> > all
> > >> >> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use
> > type
> > >> >> QUEUE and the AjaxLinks - type DROP. This way all
> LazyLoadPanels
> > >> will
> > >> >> load sequencially and if you click an AjaxLink it will cancel
> > >> >> all pending LazyLoadPanels and will schedule the execution of
> > >> >> the
> > >> AjaxLink
> > >> >> after the end of the currently loading LazyLoadPanel
> > >> >>
> > >> >> HTH
> > >> >
> > >> > That's what I've already done - Wicket schedules and executes
> > >> AjaxLink action (it does not wait for other lazy panels - so far,
> > >> so good ), but then (already during handling new ajax request)
> > >> Wicket throws exception. Isn't it a Wicket bug?
> > >> >
> > >> > 15:31:11.847 user [http-8888-2] WARN
> > >>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should
> be
> > >> handled by BufferedResponseRequestHandler
> > >> > 15:32:24.028 user [http-8888-5] ERROR
> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
> > Could
> > >> not find component
> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children' on
> > page
> > >> 'class package.MyPage
> > >> >        at
> > >>
> >
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponen
> > t
> > >> (PageAndComponentProvider.java:167)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getC
> > o
> > >> mponent(ListenerInterfaceRequestHandler.java:92)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.resp
> > o
> > >> nd(ListenerInterfaceRequestHandler.java:169)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(R
> > e
> > >> questCycle.java:750)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerSt
> > a
> > >> ck.java:64)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:
> > >> 252)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCyc
> > l
> > >> e.java:209)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(R
> > e
> > >> questCycle.java:280)
> > >> >        at
> > >>
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilt
> > e
> > >> r.java:162)
> > >> >        at
> > >>
> >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.jav
> > a
> > >> :218)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > c
> > >> ationFilterChain.java:235)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > l
> > >> terChain.java:206)
> > >> >        at
> > >>
> >
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43
> > )
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > c
> > >> ationFilterChain.java:235)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > l
> > >> terChain.java:206)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:368)
> > >> >        at
> > >>
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> > e
> > >> ptor.invoke(FilterSecurityInterceptor.java:109)
> > >> >        at
> > >>
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> > e
> > >> ptor.doFilter(FilterSecurityInterceptor.java:83)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> > i
> > >> lter(ExceptionTranslationFilter.java:97)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.session.SessionManagementFilter.doFil
> > t
> > >> er(SessionManagementFilter.java:100)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> > n
> > >> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.servletapi.SecurityContextHolderAware
> > R
> > >>
> >
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> > d
> > >> oFilter(RequestCacheAwareFilter.java:35)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.authentication.AbstractAuthentication
> > P
> > >>
> >
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:1
> > 8
> > >> 7)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.authentication.logout.LogoutFilter.do
> > F
> > >> ilter(LogoutFilter.java:105)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.context.SecurityContextPersistenceFil
> > t
> > >> er.doFilter(SecurityContextPersistenceFilter.java:79)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> > P
> > >> roxy.java:169)
> > >> >        at
> > >>
> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> > l
> > >> egatingFilterProxy.java:237)
> > >> >        at
> > >>
> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> > n
> > >> gFilterProxy.java:167)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > c
> > >> ationFilterChain.java:235)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > l
> > >> terChain.java:206)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> > l
> > >> ve.java:233)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContext
> > V
> > >> alve.java:191)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> > l
> > >> ve.java)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> > v
> > >> a:127)
> > >> >        at
> > >>
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> > v
> > >> a:102)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> > e
> > >> .java:109)
> > >> >        at
> > >>
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> > >> 298)
> > >> >        at
> > >>
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> > 8
> > >> 57)
> > >> >        at
> > >>
> >
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
> > s
> > >> (Http11Protocol.java:588)
> > >> >        at
> > >>
> >
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489
> > )
> > >> >        at java.lang.Thread.run(Unknown Source) 15:32:24.050 user
> > >> [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error
> > detaching
> > >> RequestHandler
> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
> > Could
> > >> not find component
> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children' on
> > page
> > >> 'class package.MyPage
> > >> >        at
> > >>
> >
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponen
> > t
> > >> (PageAndComponentProvider.java:167)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<ini
> > t
> > >> >(ListenerInterfaceLogData.java:51)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.deta
> > c
> > >> h(ListenerInterfaceRequestHandler.java:134)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(Re
> > q
> > >> uestCycle.java:761)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerSta
> > c
> > >> k.java:180)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.jav
> > a
> > >> :565)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:
> > 5
> > >> 08)
> > >> >        at
> > >>
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(R
> > e
> > >> questCycle.java:284)
> > >> >        at
> > >>
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilt
> > e
> > >> r.java:162)
> > >> >        at
> > >>
> >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.jav
> > a
> > >> :218)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > c
> > >> ationFilterChain.java:235)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > l
> > >> terChain.java:206)
> > >> >        at
> > >>
> >
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43
> > )
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > c
> > >> ationFilterChain.java:235)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > l
> > >> terChain.java:206)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:368)
> > >> >        at
> > >>
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> > e
> > >> ptor.invoke(FilterSecurityInterceptor.java:109)
> > >> >        at
> > >>
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> > e
> > >> ptor.doFilter(FilterSecurityInterceptor.java:83)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> > i
> > >> lter(ExceptionTranslationFilter.java:97)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.session.SessionManagementFilter.doFil
> > t
> > >> er(SessionManagementFilter.java:100)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> > n
> > >> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.servletapi.SecurityContextHolderAware
> > R
> > >>
> >
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> > d
> > >> oFilter(RequestCacheAwareFilter.java:35)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.authentication.AbstractAuthentication
> > P
> > >>
> >
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:1
> > 8
> > >> 7)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.authentication.logout.LogoutFilter.do
> > F
> > >> ilter(LogoutFilter.java:105)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.context.SecurityContextPersistenceFil
> > t
> > >> er.doFilter(SecurityContextPersistenceFilter.java:79)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > o
> > >> Filter(FilterChainProxy.java:380)
> > >> >        at
> > >>
> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> > P
> > >> roxy.java:169)
> > >> >        at
> > >>
> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> > l
> > >> egatingFilterProxy.java:237)
> > >> >        at
> > >>
> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> > n
> > >> gFilterProxy.java:167)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > c
> > >> ationFilterChain.java:235)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > l
> > >> terChain.java:206)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> > l
> > >> ve.java:233)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContext
> > V
> > >> alve.java:191)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> > l
> > >> ve.java)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> > v
> > >> a:127)
> > >> >        at
> > >>
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> > v
> > >> a:102)
> > >> >        at
> > >>
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> > e
> > >> .java:109)
> > >> >        at
> > >>
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> > >> 298)
> > >> >        at
> > >>
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> > 8
> > >> 57)
> > >> >        at
> > >>
> >
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
> > s
> > >> (Http11Protocol.java:588)
> > >> >        at
> > >>
> >
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489
> > )
> > >> >        at java.lang.Thread.run(Unknown Source)
> > >> > 15:32:24.183 user [http-8888-2] WARN
> > >>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should
> be
> > >> handled by BufferedResponseRequestHandler
> > >> >
> > >> >
> > >> >> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
> > >> >> <mi...@onior.com> wrote:
> > >> >> > Hi,
> > >> >> >
> > >> >> > Could you please tell me what is the status of this issue?
> > >> >> > Should I create a Jira issue and/or quickstart or is it won't
> > >> >> fix/invalid?
> > >> >> >
> > >> >> > Best regards,
> > >> >> > Michal Wegrzyn
> > >> >> >
> > >> >> >> -----Original Message-----
> > >> >> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> > >> >> >> Sent: Friday, November 04, 2011 11:56
> > >> >> >> To: users@wicket.apache.org
> > >> >> >> Subject: RE: abort loading lazy components
> > >> >> >>
> > >> >> >> Thanks for an update Martin.
> > >> >> >>
> > >> >> >> Unfortunately using IAjaxCallDecorator#decorateScript()
> > prevents
> > >> >> >> handling request (nothing happens).
> > >> >> >> If I append the stop script directly to ajax request target
> > >> (before
> > >> >> >> sending event), then request proceeds, but the first lazy
> > >> component
> > >> >> is
> > >> >> >> not loaded.
> > >> >> >>
> > >> >> >> Also, the stop script breaks ajax indicators (both from lazy
> > >> >> components
> > >> >> >> and indicating links). Exceptions still are present, but
> page
> > >> isn't
> > >> >> >> crashing.
> > >> >> >>
> > >> >> >> So far the closest solution was using BookmarkablePageLink,
> > but
> > >> it
> > >> >> is
> > >> >> >> not ajax and it is just a workaround.
> > >> >> >>
> > >> >> >> Isn't there a way to prevent Wicket from handling "old" ajax
> > >> >> requests?
> > >> >> >> I assume that's how it should work with DROP channel.
> > >> >> >>
> > >> >> >> Best regards,
> > >> >> >> Michal Wegrzyn
> > >> >> >>
> > >> >> >> > -----Original Message-----
> > >> >> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > >> >> >> > Sent: Thursday, November 03, 2011 17:54
> > >> >> >> > To: users@wicket.apache.org
> > >> >> >> > Subject: Re: abort loading lazy components
> > >> >> >> >
> > >> >> >> > Here is something that I didn't know so far:
> > >> >> >> > http://stackoverflow.com/questions/930237/javascript-
> cancel
> > >> >> >> > -
> > >> stop-
> > >> >> >> image-
> > >> >> >> > requests/1468452#1468452
> > >> >> >> >
> > >> >> >> > It seems there is a way to simulate browser's stop button
> > with
> > >> >> >> > JavaScript.
> > >> >> >> > Try to use that code from
> > IAjaxCallDecorator#decorateScript()
> > >> for
> > >> >> >> your
> > >> >> >> > AjaxLink.
> > >> >> >> >
> > >> >> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
> > >> >> >> > <mi...@onior.com> wrote:
> > >> >> >> > > I've just debugged and indeed problem is that there is
> no
> > >> >> component
> > >> >> >> > with id "29".
> > >> >> >> > > So clearly Wicket looks for an lazy "children" component
> > from
> > >> >> >> > outdated DataView component.
> > >> >> >> > >
> > >> >> >> > > Michal
> > >> >> >> > >
> > >> >> >> > >> -----Original Message-----
> > >> >> >> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> > >> >> >> > >> Sent: Wednesday, November 02, 2011 16:11
> > >> >> >> > >> To: users@wicket.apache.org
> > >> >> >> > >> Subject: RE: abort loading lazy components
> > >> >> >> > >>
> > >> >> >> > >> It is triggered when there is already new "itemList"
> (it
> > >> >> extends
> > >> >> >> > >> DataView), so I suppose that PageAndComponentProvider
> > >> >> >> > >> looks for "itemList:29", which
> > does
> > >> >> not
> > >> >> >> > exists
> > >> >> >> > >> anymore.
> > >> >> >> > >>
> > >> >> >> > >> Scenario:
> > >> >> >> > >>
> > >> >> >> > >> - Page is loaded but lazy components
> > >> >> >> > >>
> > ('folders:listContainer:itemList:itemPanel:folder:children')
> > >> >> are
> > >> >> >> > still
> > >> >> >> > >> loading
> > >> >> >> > >> - User triggers folder change (itemList is replaced)
> > >> >> >> > >> - Exception occurs
> > >> >> >> > >>
> > >> >> >> > >> If user triggers folder change when lazy components are
> > >> >> completely
> > >> >> >> > >> loaded (or during loading the last one) there is no
> > >> exception
> > >> >> at
> > >> >> >> > all.
> > >> >> >> > >>
> > >> >> >> > >> Best Regards,
> > >> >> >> > >> Michal Wegrzyn
> > >> >> >> > >>
> > >> >> >> > >> -----Original Message-----
> > >> >> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > >> >> >> > >> Sent: Wednesday, November 02, 2011 15:54
> > >> >> >> > >> To: users@wicket.apache.org
> > >> >> >> > >> Subject: Re: abort loading lazy components
> > >> >> >> > >>
> > >> >> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> > >> >> >> > >> <mi...@onior.com> wrote:
> > >> >> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
> > >> >> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error
> > >> occurred
> > >> >> >> > >> >
> > >> org.apache.wicket.request.handler.ComponentNotFoundException:
> > >> >> >> > Could
> > >> >> >> > >> not find component
> > >> >> >> > >>
> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children'
> > >> >> on
> > >> >> >> > page
> > >> >> >> > >> 'class package.MyPage
> > >> >> >> > >>
> > >> >> >> > >> Do you know how this is triggered ?
> > >> >> >> > >
> > >> >> >> > >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > --
> > >> >> >> > Martin Grigorov
> > >> >> >> > jWeekend
> > >> >> >> > Training, Consulting, Development http://jWeekend.com
> > >> >> >> >
> > >> >> >> > ----------------------------------------------------------
> -
> > >> >> >> > -
> > ---
> > >> ---
> > >> >> ---
> > >> >> >> > To unsubscribe, e-mail: users-
> unsubscribe@wicket.apache.org
> > >> >> >> > For additional commands, e-mail: users-
> > help@wicket.apache.org
> > >> >> >
> > >> >> >
> > >> >>
> > >> >>
> > >> >>
> > >> >> --
> > >> >> Martin Grigorov
> > >> >> jWeekend
> > >> >> Training, Consulting, Development http://jWeekend.com
> > >> >>
> > >> >> ---------------------------------------------------------------
> -
> > >> >> -
> > ---
> > >> -
> > >> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > >> >> For additional commands, e-mail: users-help@wicket.apache.org
> > >> >
> > >> >
> > >>
> > >>
> > >>
> > >> --
> > >> Martin Grigorov
> > >> jWeekend
> > >> Training, Consulting, Development
> > >> http://jWeekend.com
> > >>
> > >> ------------------------------------------------------------------
> -
> > >> -
> > -
> > >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > >> For additional commands, e-mail: users-help@wicket.apache.org
> > >
> > >
> >
> >
> >
> > --
> > Martin Grigorov
> > jWeekend
> > Training, Consulting, Development
> > http://jWeekend.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org


Re: abort loading lazy components

Posted by Martin Grigorov <mg...@apache.org>.
Ticket + quickstart

On Mon, Nov 14, 2011 at 2:39 PM, Michal Wegrzyn
<mi...@onior.com> wrote:
> Just tried with 1.5.3 - unfortunately I still get an exception.
>
>> -----Original Message-----
>> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> Sent: Thursday, November 10, 2011 14:50
>> To: users@wicket.apache.org
>> Subject: Re: abort loading lazy components
>>
>> This is fixed in 1.5.3 (currently in voting)
>>
>> On Thu, Nov 10, 2011 at 3:37 PM, Michal Wegrzyn
>> <mi...@onior.com> wrote:
>> >> -----Original Message-----
>> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> >> Sent: Thursday, November 10, 2011 9:48
>> >> To: users@wicket.apache.org
>> >> Subject: Re: abort loading lazy components
>> >>
>> >> Hi,
>> >>
>> >> I see no solution for your case.
>> >> Using BookmarkablePageLink works as you confirmed but I'm not aware
>> of
>> >> clean way to cancel running Ajax requests and replace them with
>> >> completely new one.
>> >>
>> >> XMLHttpRequest has #abort() method which cancels the request but
>> this
>> >> will lead co "socket close exception"s in the server side.
>> >>
>> >
>> > Right, I've already looked at XMLHttpRequest#abort(). It wouldn't be
>> a "clean" solution anyway.
>> >
>> >> The best approach I see is to use the same AjaxChannel name for all
>> >> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use type
>> >> QUEUE and the AjaxLinks - type DROP. This way all LazyLoadPanels
>> will
>> >> load sequencially and if you click an AjaxLink it will cancel all
>> >> pending LazyLoadPanels and will schedule the execution of the
>> AjaxLink
>> >> after the end of the currently loading LazyLoadPanel
>> >>
>> >> HTH
>> >
>> > That's what I've already done - Wicket schedules and executes
>> AjaxLink action (it does not wait for other lazy panels - so far, so
>> good ), but then (already during handling new ajax request) Wicket
>> throws exception. Isn't it a Wicket bug?
>> >
>> > 15:31:11.847 user [http-8888-2] WARN
>>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
>> handled by BufferedResponseRequestHandler
>> > 15:32:24.028 user [http-8888-5] ERROR
>> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
>> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
>> not find component
>> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
>> 'class package.MyPage
>> >        at
>> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
>> (PageAndComponentProvider.java:167)
>> >        at
>> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getCo
>> mponent(ListenerInterfaceRequestHandler.java:92)
>> >        at
>> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respo
>> nd(ListenerInterfaceRequestHandler.java:169)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(Re
>> questCycle.java:750)
>> >        at
>> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerSta
>> ck.java:64)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:
>> 252)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycl
>> e.java:209)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
>> questCycle.java:280)
>> >        at
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
>> r.java:162)
>> >        at
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
>> :218)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:368)
>> >        at
>> org.springframework.security.web.access.intercept.FilterSecurityInterce
>> ptor.invoke(FilterSecurityInterceptor.java:109)
>> >        at
>> org.springframework.security.web.access.intercept.FilterSecurityInterce
>> ptor.doFilter(FilterSecurityInterceptor.java:83)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
>> lter(ExceptionTranslationFilter.java:97)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.session.SessionManagementFilter.doFilt
>> er(SessionManagementFilter.java:100)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.AnonymousAuthentication
>> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
>> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
>> oFilter(RequestCacheAwareFilter.java:35)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.AbstractAuthenticationP
>> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
>> 7)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.logout.LogoutFilter.doF
>> ilter(LogoutFilter.java:105)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.context.SecurityContextPersistenceFilt
>> er.doFilter(SecurityContextPersistenceFilter.java:79)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
>> roxy.java:169)
>> >        at
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
>> egatingFilterProxy.java:237)
>> >        at
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
>> gFilterProxy.java:167)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
>> ve.java:233)
>> >        at
>> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
>> alve.java:191)
>> >        at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
>> ve.java)
>> >        at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
>> a:127)
>> >        at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
>> a:102)
>> >        at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
>> .java:109)
>> >        at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> 298)
>> >        at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
>> 57)
>> >        at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
>> (Http11Protocol.java:588)
>> >        at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>> >        at java.lang.Thread.run(Unknown Source) 15:32:24.050 user
>> [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error detaching
>> RequestHandler
>> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
>> not find component
>> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
>> 'class package.MyPage
>> >        at
>> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
>> (PageAndComponentProvider.java:167)
>> >        at
>> org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init
>> >(ListenerInterfaceLogData.java:51)
>> >        at
>> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detac
>> h(ListenerInterfaceRequestHandler.java:134)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(Req
>> uestCycle.java:761)
>> >        at
>> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStac
>> k.java:180)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java
>> :565)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:5
>> 08)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
>> questCycle.java:284)
>> >        at
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
>> r.java:162)
>> >        at
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
>> :218)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:368)
>> >        at
>> org.springframework.security.web.access.intercept.FilterSecurityInterce
>> ptor.invoke(FilterSecurityInterceptor.java:109)
>> >        at
>> org.springframework.security.web.access.intercept.FilterSecurityInterce
>> ptor.doFilter(FilterSecurityInterceptor.java:83)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
>> lter(ExceptionTranslationFilter.java:97)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.session.SessionManagementFilter.doFilt
>> er(SessionManagementFilter.java:100)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.AnonymousAuthentication
>> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
>> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
>> oFilter(RequestCacheAwareFilter.java:35)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.AbstractAuthenticationP
>> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
>> 7)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.logout.LogoutFilter.doF
>> ilter(LogoutFilter.java:105)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.context.SecurityContextPersistenceFilt
>> er.doFilter(SecurityContextPersistenceFilter.java:79)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
>> roxy.java:169)
>> >        at
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
>> egatingFilterProxy.java:237)
>> >        at
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
>> gFilterProxy.java:167)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
>> ve.java:233)
>> >        at
>> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
>> alve.java:191)
>> >        at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
>> ve.java)
>> >        at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
>> a:127)
>> >        at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
>> a:102)
>> >        at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
>> .java:109)
>> >        at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> 298)
>> >        at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
>> 57)
>> >        at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
>> (Http11Protocol.java:588)
>> >        at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>> >        at java.lang.Thread.run(Unknown Source)
>> > 15:32:24.183 user [http-8888-2] WARN
>>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
>> handled by BufferedResponseRequestHandler
>> >
>> >
>> >> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
>> >> <mi...@onior.com> wrote:
>> >> > Hi,
>> >> >
>> >> > Could you please tell me what is the status of this issue?
>> >> > Should I create a Jira issue and/or quickstart or is it won't
>> >> fix/invalid?
>> >> >
>> >> > Best regards,
>> >> > Michal Wegrzyn
>> >> >
>> >> >> -----Original Message-----
>> >> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
>> >> >> Sent: Friday, November 04, 2011 11:56
>> >> >> To: users@wicket.apache.org
>> >> >> Subject: RE: abort loading lazy components
>> >> >>
>> >> >> Thanks for an update Martin.
>> >> >>
>> >> >> Unfortunately using IAjaxCallDecorator#decorateScript() prevents
>> >> >> handling request (nothing happens).
>> >> >> If I append the stop script directly to ajax request target
>> (before
>> >> >> sending event), then request proceeds, but the first lazy
>> component
>> >> is
>> >> >> not loaded.
>> >> >>
>> >> >> Also, the stop script breaks ajax indicators (both from lazy
>> >> components
>> >> >> and indicating links). Exceptions still are present, but page
>> isn't
>> >> >> crashing.
>> >> >>
>> >> >> So far the closest solution was using BookmarkablePageLink, but
>> it
>> >> is
>> >> >> not ajax and it is just a workaround.
>> >> >>
>> >> >> Isn't there a way to prevent Wicket from handling "old" ajax
>> >> requests?
>> >> >> I assume that's how it should work with DROP channel.
>> >> >>
>> >> >> Best regards,
>> >> >> Michal Wegrzyn
>> >> >>
>> >> >> > -----Original Message-----
>> >> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> >> >> > Sent: Thursday, November 03, 2011 17:54
>> >> >> > To: users@wicket.apache.org
>> >> >> > Subject: Re: abort loading lazy components
>> >> >> >
>> >> >> > Here is something that I didn't know so far:
>> >> >> > http://stackoverflow.com/questions/930237/javascript-cancel-
>> stop-
>> >> >> image-
>> >> >> > requests/1468452#1468452
>> >> >> >
>> >> >> > It seems there is a way to simulate browser's stop button with
>> >> >> > JavaScript.
>> >> >> > Try to use that code from IAjaxCallDecorator#decorateScript()
>> for
>> >> >> your
>> >> >> > AjaxLink.
>> >> >> >
>> >> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
>> >> >> > <mi...@onior.com> wrote:
>> >> >> > > I've just debugged and indeed problem is that there is no
>> >> component
>> >> >> > with id "29".
>> >> >> > > So clearly Wicket looks for an lazy "children" component from
>> >> >> > outdated DataView component.
>> >> >> > >
>> >> >> > > Michal
>> >> >> > >
>> >> >> > >> -----Original Message-----
>> >> >> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
>> >> >> > >> Sent: Wednesday, November 02, 2011 16:11
>> >> >> > >> To: users@wicket.apache.org
>> >> >> > >> Subject: RE: abort loading lazy components
>> >> >> > >>
>> >> >> > >> It is triggered when there is already new "itemList" (it
>> >> extends
>> >> >> > >> DataView), so I suppose that
>> >> >> > >> PageAndComponentProvider looks for "itemList:29", which does
>> >> not
>> >> >> > exists
>> >> >> > >> anymore.
>> >> >> > >>
>> >> >> > >> Scenario:
>> >> >> > >>
>> >> >> > >> - Page is loaded but lazy components
>> >> >> > >> ('folders:listContainer:itemList:itemPanel:folder:children')
>> >> are
>> >> >> > still
>> >> >> > >> loading
>> >> >> > >> - User triggers folder change (itemList is replaced)
>> >> >> > >> - Exception occurs
>> >> >> > >>
>> >> >> > >> If user triggers folder change when lazy components are
>> >> completely
>> >> >> > >> loaded (or during loading the last one) there is no
>> exception
>> >> at
>> >> >> > all.
>> >> >> > >>
>> >> >> > >> Best Regards,
>> >> >> > >> Michal Wegrzyn
>> >> >> > >>
>> >> >> > >> -----Original Message-----
>> >> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> >> >> > >> Sent: Wednesday, November 02, 2011 15:54
>> >> >> > >> To: users@wicket.apache.org
>> >> >> > >> Subject: Re: abort loading lazy components
>> >> >> > >>
>> >> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
>> >> >> > >> <mi...@onior.com> wrote:
>> >> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
>> >> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error
>> occurred
>> >> >> > >> >
>> org.apache.wicket.request.handler.ComponentNotFoundException:
>> >> >> > Could
>> >> >> > >> not find component
>> >> >> > >>
>> 'folders:listContainer:itemList:29:itemPanel:folder:children'
>> >> on
>> >> >> > page
>> >> >> > >> 'class package.MyPage
>> >> >> > >>
>> >> >> > >> Do you know how this is triggered ?
>> >> >> > >
>> >> >> > >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Martin Grigorov
>> >> >> > jWeekend
>> >> >> > Training, Consulting, Development
>> >> >> > http://jWeekend.com
>> >> >> >
>> >> >> > ---------------------------------------------------------------
>> ---
>> >> ---
>> >> >> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> >> >> > For additional commands, e-mail: users-help@wicket.apache.org
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Martin Grigorov
>> >> jWeekend
>> >> Training, Consulting, Development
>> >> http://jWeekend.com
>> >>
>> >> --------------------------------------------------------------------
>> -
>> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> >> For additional commands, e-mail: users-help@wicket.apache.org
>> >
>> >
>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
Just tried with 1.5.3 - unfortunately I still get an exception.

> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Thursday, November 10, 2011 14:50
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> This is fixed in 1.5.3 (currently in voting)
>
> On Thu, Nov 10, 2011 at 3:37 PM, Michal Wegrzyn
> <mi...@onior.com> wrote:
> >> -----Original Message-----
> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> Sent: Thursday, November 10, 2011 9:48
> >> To: users@wicket.apache.org
> >> Subject: Re: abort loading lazy components
> >>
> >> Hi,
> >>
> >> I see no solution for your case.
> >> Using BookmarkablePageLink works as you confirmed but I'm not aware
> of
> >> clean way to cancel running Ajax requests and replace them with
> >> completely new one.
> >>
> >> XMLHttpRequest has #abort() method which cancels the request but
> this
> >> will lead co "socket close exception"s in the server side.
> >>
> >
> > Right, I've already looked at XMLHttpRequest#abort(). It wouldn't be
> a "clean" solution anyway.
> >
> >> The best approach I see is to use the same AjaxChannel name for all
> >> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use type
> >> QUEUE and the AjaxLinks - type DROP. This way all LazyLoadPanels
> will
> >> load sequencially and if you click an AjaxLink it will cancel all
> >> pending LazyLoadPanels and will schedule the execution of the
> AjaxLink
> >> after the end of the currently loading LazyLoadPanel
> >>
> >> HTH
> >
> > That's what I've already done - Wicket schedules and executes
> AjaxLink action (it does not wait for other lazy panels - so far, so
> good ), but then (already during handling new ajax request) Wicket
> throws exception. Isn't it a Wicket bug?
> >
> > 15:31:11.847 user [http-8888-2] WARN
>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
> handled by BufferedResponseRequestHandler
> > 15:32:24.028 user [http-8888-5] ERROR
> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
> not find component
> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
> 'class package.MyPage
> >        at
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
> (PageAndComponentProvider.java:167)
> >        at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getCo
> mponent(ListenerInterfaceRequestHandler.java:92)
> >        at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respo
> nd(ListenerInterfaceRequestHandler.java:169)
> >        at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(Re
> questCycle.java:750)
> >        at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerSta
> ck.java:64)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:
> 252)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycl
> e.java:209)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
> questCycle.java:280)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
> r.java:162)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
> :218)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:368)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.invoke(FilterSecurityInterceptor.java:109)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
> lter(ExceptionTranslationFilter.java:97)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.session.SessionManagementFilter.doFilt
> er(SessionManagementFilter.java:100)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AnonymousAuthentication
> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
> oFilter(RequestCacheAwareFilter.java:35)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AbstractAuthenticationP
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
> 7)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.logout.LogoutFilter.doF
> ilter(LogoutFilter.java:105)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.context.SecurityContextPersistenceFilt
> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
> roxy.java:169)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
> egatingFilterProxy.java:237)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
> gFilterProxy.java:167)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> ve.java:233)
> >        at
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
> alve.java:191)
> >        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> ve.java)
> >        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> a:127)
> >        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
> a:102)
> >        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> .java:109)
> >        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 298)
> >        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
> 57)
> >        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
> (Http11Protocol.java:588)
> >        at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >        at java.lang.Thread.run(Unknown Source) 15:32:24.050 user
> [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error detaching
> RequestHandler
> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
> not find component
> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
> 'class package.MyPage
> >        at
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
> (PageAndComponentProvider.java:167)
> >        at
> org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init
> >(ListenerInterfaceLogData.java:51)
> >        at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detac
> h(ListenerInterfaceRequestHandler.java:134)
> >        at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(Req
> uestCycle.java:761)
> >        at
> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStac
> k.java:180)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java
> :565)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:5
> 08)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
> questCycle.java:284)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
> r.java:162)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
> :218)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:368)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.invoke(FilterSecurityInterceptor.java:109)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
> lter(ExceptionTranslationFilter.java:97)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.session.SessionManagementFilter.doFilt
> er(SessionManagementFilter.java:100)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AnonymousAuthentication
> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
> oFilter(RequestCacheAwareFilter.java:35)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AbstractAuthenticationP
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
> 7)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.logout.LogoutFilter.doF
> ilter(LogoutFilter.java:105)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.context.SecurityContextPersistenceFilt
> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
> roxy.java:169)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
> egatingFilterProxy.java:237)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
> gFilterProxy.java:167)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> ve.java:233)
> >        at
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
> alve.java:191)
> >        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> ve.java)
> >        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> a:127)
> >        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
> a:102)
> >        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> .java:109)
> >        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 298)
> >        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
> 57)
> >        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
> (Http11Protocol.java:588)
> >        at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >        at java.lang.Thread.run(Unknown Source)
> > 15:32:24.183 user [http-8888-2] WARN
>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
> handled by BufferedResponseRequestHandler
> >
> >
> >> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
> >> <mi...@onior.com> wrote:
> >> > Hi,
> >> >
> >> > Could you please tell me what is the status of this issue?
> >> > Should I create a Jira issue and/or quickstart or is it won't
> >> fix/invalid?
> >> >
> >> > Best regards,
> >> > Michal Wegrzyn
> >> >
> >> >> -----Original Message-----
> >> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> >> Sent: Friday, November 04, 2011 11:56
> >> >> To: users@wicket.apache.org
> >> >> Subject: RE: abort loading lazy components
> >> >>
> >> >> Thanks for an update Martin.
> >> >>
> >> >> Unfortunately using IAjaxCallDecorator#decorateScript() prevents
> >> >> handling request (nothing happens).
> >> >> If I append the stop script directly to ajax request target
> (before
> >> >> sending event), then request proceeds, but the first lazy
> component
> >> is
> >> >> not loaded.
> >> >>
> >> >> Also, the stop script breaks ajax indicators (both from lazy
> >> components
> >> >> and indicating links). Exceptions still are present, but page
> isn't
> >> >> crashing.
> >> >>
> >> >> So far the closest solution was using BookmarkablePageLink, but
> it
> >> is
> >> >> not ajax and it is just a workaround.
> >> >>
> >> >> Isn't there a way to prevent Wicket from handling "old" ajax
> >> requests?
> >> >> I assume that's how it should work with DROP channel.
> >> >>
> >> >> Best regards,
> >> >> Michal Wegrzyn
> >> >>
> >> >> > -----Original Message-----
> >> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> >> > Sent: Thursday, November 03, 2011 17:54
> >> >> > To: users@wicket.apache.org
> >> >> > Subject: Re: abort loading lazy components
> >> >> >
> >> >> > Here is something that I didn't know so far:
> >> >> > http://stackoverflow.com/questions/930237/javascript-cancel-
> stop-
> >> >> image-
> >> >> > requests/1468452#1468452
> >> >> >
> >> >> > It seems there is a way to simulate browser's stop button with
> >> >> > JavaScript.
> >> >> > Try to use that code from IAjaxCallDecorator#decorateScript()
> for
> >> >> your
> >> >> > AjaxLink.
> >> >> >
> >> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
> >> >> > <mi...@onior.com> wrote:
> >> >> > > I've just debugged and indeed problem is that there is no
> >> component
> >> >> > with id "29".
> >> >> > > So clearly Wicket looks for an lazy "children" component from
> >> >> > outdated DataView component.
> >> >> > >
> >> >> > > Michal
> >> >> > >
> >> >> > >> -----Original Message-----
> >> >> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> >> > >> Sent: Wednesday, November 02, 2011 16:11
> >> >> > >> To: users@wicket.apache.org
> >> >> > >> Subject: RE: abort loading lazy components
> >> >> > >>
> >> >> > >> It is triggered when there is already new "itemList" (it
> >> extends
> >> >> > >> DataView), so I suppose that
> >> >> > >> PageAndComponentProvider looks for "itemList:29", which does
> >> not
> >> >> > exists
> >> >> > >> anymore.
> >> >> > >>
> >> >> > >> Scenario:
> >> >> > >>
> >> >> > >> - Page is loaded but lazy components
> >> >> > >> ('folders:listContainer:itemList:itemPanel:folder:children')
> >> are
> >> >> > still
> >> >> > >> loading
> >> >> > >> - User triggers folder change (itemList is replaced)
> >> >> > >> - Exception occurs
> >> >> > >>
> >> >> > >> If user triggers folder change when lazy components are
> >> completely
> >> >> > >> loaded (or during loading the last one) there is no
> exception
> >> at
> >> >> > all.
> >> >> > >>
> >> >> > >> Best Regards,
> >> >> > >> Michal Wegrzyn
> >> >> > >>
> >> >> > >> -----Original Message-----
> >> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> >> > >> Sent: Wednesday, November 02, 2011 15:54
> >> >> > >> To: users@wicket.apache.org
> >> >> > >> Subject: Re: abort loading lazy components
> >> >> > >>
> >> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> >> >> > >> <mi...@onior.com> wrote:
> >> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
> >> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error
> occurred
> >> >> > >> >
> org.apache.wicket.request.handler.ComponentNotFoundException:
> >> >> > Could
> >> >> > >> not find component
> >> >> > >>
> 'folders:listContainer:itemList:29:itemPanel:folder:children'
> >> on
> >> >> > page
> >> >> > >> 'class package.MyPage
> >> >> > >>
> >> >> > >> Do you know how this is triggered ?
> >> >> > >
> >> >> > >
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Martin Grigorov
> >> >> > jWeekend
> >> >> > Training, Consulting, Development
> >> >> > http://jWeekend.com
> >> >> >
> >> >> > ---------------------------------------------------------------
> ---
> >> ---
> >> >> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> >> > For additional commands, e-mail: users-help@wicket.apache.org
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Martin Grigorov
> >> jWeekend
> >> Training, Consulting, Development
> >> http://jWeekend.com
> >>
> >> --------------------------------------------------------------------
> -
> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
That's great, thanks. I'll try it ASAP.

Best regards,
Michal Wegrzyn

> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Thursday, November 10, 2011 14:50
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> This is fixed in 1.5.3 (currently in voting)
>
> On Thu, Nov 10, 2011 at 3:37 PM, Michal Wegrzyn
> <mi...@onior.com> wrote:
> >> -----Original Message-----
> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> Sent: Thursday, November 10, 2011 9:48
> >> To: users@wicket.apache.org
> >> Subject: Re: abort loading lazy components
> >>
> >> Hi,
> >>
> >> I see no solution for your case.
> >> Using BookmarkablePageLink works as you confirmed but I'm not aware
> of
> >> clean way to cancel running Ajax requests and replace them with
> >> completely new one.
> >>
> >> XMLHttpRequest has #abort() method which cancels the request but
> this
> >> will lead co "socket close exception"s in the server side.
> >>
> >
> > Right, I've already looked at XMLHttpRequest#abort(). It wouldn't be
> a "clean" solution anyway.
> >
> >> The best approach I see is to use the same AjaxChannel name for all
> >> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use type
> >> QUEUE and the AjaxLinks - type DROP. This way all LazyLoadPanels
> will
> >> load sequencially and if you click an AjaxLink it will cancel all
> >> pending LazyLoadPanels and will schedule the execution of the
> AjaxLink
> >> after the end of the currently loading LazyLoadPanel
> >>
> >> HTH
> >
> > That's what I've already done - Wicket schedules and executes
> AjaxLink action (it does not wait for other lazy panels - so far, so
> good ), but then (already during handling new ajax request) Wicket
> throws exception. Isn't it a Wicket bug?
> >
> > 15:31:11.847 user [http-8888-2] WARN
>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
> handled by BufferedResponseRequestHandler
> > 15:32:24.028 user [http-8888-5] ERROR
> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
> not find component
> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
> 'class package.MyPage
> >        at
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
> (PageAndComponentProvider.java:167)
> >        at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getCo
> mponent(ListenerInterfaceRequestHandler.java:92)
> >        at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respo
> nd(ListenerInterfaceRequestHandler.java:169)
> >        at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(Re
> questCycle.java:750)
> >        at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerSta
> ck.java:64)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:
> 252)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycl
> e.java:209)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
> questCycle.java:280)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
> r.java:162)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
> :218)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:368)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.invoke(FilterSecurityInterceptor.java:109)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
> lter(ExceptionTranslationFilter.java:97)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.session.SessionManagementFilter.doFilt
> er(SessionManagementFilter.java:100)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AnonymousAuthentication
> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
> oFilter(RequestCacheAwareFilter.java:35)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AbstractAuthenticationP
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
> 7)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.logout.LogoutFilter.doF
> ilter(LogoutFilter.java:105)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.context.SecurityContextPersistenceFilt
> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
> roxy.java:169)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
> egatingFilterProxy.java:237)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
> gFilterProxy.java:167)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> ve.java:233)
> >        at
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
> alve.java:191)
> >        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> ve.java)
> >        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> a:127)
> >        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
> a:102)
> >        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> .java:109)
> >        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 298)
> >        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
> 57)
> >        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
> (Http11Protocol.java:588)
> >        at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >        at java.lang.Thread.run(Unknown Source) 15:32:24.050 user
> [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error detaching
> RequestHandler
> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
> not find component
> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
> 'class package.MyPage
> >        at
> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
> (PageAndComponentProvider.java:167)
> >        at
> org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init
> >(ListenerInterfaceLogData.java:51)
> >        at
> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detac
> h(ListenerInterfaceRequestHandler.java:134)
> >        at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(Req
> uestCycle.java:761)
> >        at
> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStac
> k.java:180)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java
> :565)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:5
> 08)
> >        at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
> questCycle.java:284)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
> r.java:162)
> >        at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
> :218)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:368)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.invoke(FilterSecurityInterceptor.java:109)
> >        at
> org.springframework.security.web.access.intercept.FilterSecurityInterce
> ptor.doFilter(FilterSecurityInterceptor.java:83)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
> lter(ExceptionTranslationFilter.java:97)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.session.SessionManagementFilter.doFilt
> er(SessionManagementFilter.java:100)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AnonymousAuthentication
> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
> oFilter(RequestCacheAwareFilter.java:35)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.AbstractAuthenticationP
> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
> 7)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.authentication.logout.LogoutFilter.doF
> ilter(LogoutFilter.java:105)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.context.SecurityContextPersistenceFilt
> er.doFilter(SecurityContextPersistenceFilter.java:79)
> >        at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
> Filter(FilterChainProxy.java:380)
> >        at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
> roxy.java:169)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
> egatingFilterProxy.java:237)
> >        at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
> gFilterProxy.java:167)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:235)
> >        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:206)
> >        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> ve.java:233)
> >        at
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
> alve.java:191)
> >        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> ve.java)
> >        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> a:127)
> >        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
> a:102)
> >        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> .java:109)
> >        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 298)
> >        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
> 57)
> >        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
> (Http11Protocol.java:588)
> >        at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >        at java.lang.Thread.run(Unknown Source)
> > 15:32:24.183 user [http-8888-2] WARN
>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
> handled by BufferedResponseRequestHandler
> >
> >
> >> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
> >> <mi...@onior.com> wrote:
> >> > Hi,
> >> >
> >> > Could you please tell me what is the status of this issue?
> >> > Should I create a Jira issue and/or quickstart or is it won't
> >> fix/invalid?
> >> >
> >> > Best regards,
> >> > Michal Wegrzyn
> >> >
> >> >> -----Original Message-----
> >> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> >> Sent: Friday, November 04, 2011 11:56
> >> >> To: users@wicket.apache.org
> >> >> Subject: RE: abort loading lazy components
> >> >>
> >> >> Thanks for an update Martin.
> >> >>
> >> >> Unfortunately using IAjaxCallDecorator#decorateScript() prevents
> >> >> handling request (nothing happens).
> >> >> If I append the stop script directly to ajax request target
> (before
> >> >> sending event), then request proceeds, but the first lazy
> component
> >> is
> >> >> not loaded.
> >> >>
> >> >> Also, the stop script breaks ajax indicators (both from lazy
> >> components
> >> >> and indicating links). Exceptions still are present, but page
> isn't
> >> >> crashing.
> >> >>
> >> >> So far the closest solution was using BookmarkablePageLink, but
> it
> >> is
> >> >> not ajax and it is just a workaround.
> >> >>
> >> >> Isn't there a way to prevent Wicket from handling "old" ajax
> >> requests?
> >> >> I assume that's how it should work with DROP channel.
> >> >>
> >> >> Best regards,
> >> >> Michal Wegrzyn
> >> >>
> >> >> > -----Original Message-----
> >> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> >> > Sent: Thursday, November 03, 2011 17:54
> >> >> > To: users@wicket.apache.org
> >> >> > Subject: Re: abort loading lazy components
> >> >> >
> >> >> > Here is something that I didn't know so far:
> >> >> > http://stackoverflow.com/questions/930237/javascript-cancel-
> stop-
> >> >> image-
> >> >> > requests/1468452#1468452
> >> >> >
> >> >> > It seems there is a way to simulate browser's stop button with
> >> >> > JavaScript.
> >> >> > Try to use that code from IAjaxCallDecorator#decorateScript()
> for
> >> >> your
> >> >> > AjaxLink.
> >> >> >
> >> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
> >> >> > <mi...@onior.com> wrote:
> >> >> > > I've just debugged and indeed problem is that there is no
> >> component
> >> >> > with id "29".
> >> >> > > So clearly Wicket looks for an lazy "children" component from
> >> >> > outdated DataView component.
> >> >> > >
> >> >> > > Michal
> >> >> > >
> >> >> > >> -----Original Message-----
> >> >> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> >> > >> Sent: Wednesday, November 02, 2011 16:11
> >> >> > >> To: users@wicket.apache.org
> >> >> > >> Subject: RE: abort loading lazy components
> >> >> > >>
> >> >> > >> It is triggered when there is already new "itemList" (it
> >> extends
> >> >> > >> DataView), so I suppose that
> >> >> > >> PageAndComponentProvider looks for "itemList:29", which does
> >> not
> >> >> > exists
> >> >> > >> anymore.
> >> >> > >>
> >> >> > >> Scenario:
> >> >> > >>
> >> >> > >> - Page is loaded but lazy components
> >> >> > >> ('folders:listContainer:itemList:itemPanel:folder:children')
> >> are
> >> >> > still
> >> >> > >> loading
> >> >> > >> - User triggers folder change (itemList is replaced)
> >> >> > >> - Exception occurs
> >> >> > >>
> >> >> > >> If user triggers folder change when lazy components are
> >> completely
> >> >> > >> loaded (or during loading the last one) there is no
> exception
> >> at
> >> >> > all.
> >> >> > >>
> >> >> > >> Best Regards,
> >> >> > >> Michal Wegrzyn
> >> >> > >>
> >> >> > >> -----Original Message-----
> >> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> >> > >> Sent: Wednesday, November 02, 2011 15:54
> >> >> > >> To: users@wicket.apache.org
> >> >> > >> Subject: Re: abort loading lazy components
> >> >> > >>
> >> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> >> >> > >> <mi...@onior.com> wrote:
> >> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
> >> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error
> occurred
> >> >> > >> >
> org.apache.wicket.request.handler.ComponentNotFoundException:
> >> >> > Could
> >> >> > >> not find component
> >> >> > >>
> 'folders:listContainer:itemList:29:itemPanel:folder:children'
> >> on
> >> >> > page
> >> >> > >> 'class package.MyPage
> >> >> > >>
> >> >> > >> Do you know how this is triggered ?
> >> >> > >
> >> >> > >
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Martin Grigorov
> >> >> > jWeekend
> >> >> > Training, Consulting, Development
> >> >> > http://jWeekend.com
> >> >> >
> >> >> > ---------------------------------------------------------------
> ---
> >> ---
> >> >> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> >> > For additional commands, e-mail: users-help@wicket.apache.org
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Martin Grigorov
> >> jWeekend
> >> Training, Consulting, Development
> >> http://jWeekend.com
> >>
> >> --------------------------------------------------------------------
> -
> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


Re: abort loading lazy components

Posted by Martin Grigorov <mg...@apache.org>.
This is fixed in 1.5.3 (currently in voting)

On Thu, Nov 10, 2011 at 3:37 PM, Michal Wegrzyn
<mi...@onior.com> wrote:
>> -----Original Message-----
>> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> Sent: Thursday, November 10, 2011 9:48
>> To: users@wicket.apache.org
>> Subject: Re: abort loading lazy components
>>
>> Hi,
>>
>> I see no solution for your case.
>> Using BookmarkablePageLink works as you confirmed but I'm not aware of
>> clean way to cancel running Ajax requests and replace them with
>> completely new one.
>>
>> XMLHttpRequest has #abort() method which cancels the request but this
>> will lead co "socket close exception"s in the server side.
>>
>
> Right, I've already looked at XMLHttpRequest#abort(). It wouldn't be a "clean" solution anyway.
>
>> The best approach I see is to use the same AjaxChannel name for all
>> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use type
>> QUEUE and the AjaxLinks - type DROP. This way all LazyLoadPanels will
>> load sequencially and if you click an AjaxLink it will cancel all
>> pending LazyLoadPanels and will schedule the execution of the AjaxLink
>> after the end of the currently loading LazyLoadPanel
>>
>> HTH
>
> That's what I've already done - Wicket schedules and executes AjaxLink action (it does not wait for other lazy panels - so far, so good ), but then (already during handling new ajax request) Wicket throws exception. Isn't it a Wicket bug?
>
> 15:31:11.847 user [http-8888-2] WARN  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be handled by BufferedResponseRequestHandler
> 15:32:24.028 user [http-8888-5] ERROR o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'folders:listContainer:itemList:29:itemPanel:folder:children' on page 'class package.MyPage
>        at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
>        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getComponent(ListenerInterfaceRequestHandler.java:92)
>        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:169)
>        at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750)
>        at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>        at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252)
>        at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209)
>        at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280)
>        at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
>        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
>        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
>        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
>        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
>        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>        at java.lang.Thread.run(Unknown Source) 15:32:24.050 user [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error detaching RequestHandler
> org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'folders:listContainer:itemList:29:itemPanel:folder:children' on page 'class package.MyPage
>        at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
>        at org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init>(ListenerInterfaceLogData.java:51)
>        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detach(ListenerInterfaceRequestHandler.java:134)
>        at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(RequestCycle.java:761)
>        at org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:180)
>        at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:565)
>        at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:508)
>        at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:284)
>        at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
>        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
>        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
>        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
>        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
>        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>        at java.lang.Thread.run(Unknown Source)
> 15:32:24.183 user [http-8888-2] WARN  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be handled by BufferedResponseRequestHandler
>
>
>> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
>> <mi...@onior.com> wrote:
>> > Hi,
>> >
>> > Could you please tell me what is the status of this issue?
>> > Should I create a Jira issue and/or quickstart or is it won't
>> fix/invalid?
>> >
>> > Best regards,
>> > Michal Wegrzyn
>> >
>> >> -----Original Message-----
>> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
>> >> Sent: Friday, November 04, 2011 11:56
>> >> To: users@wicket.apache.org
>> >> Subject: RE: abort loading lazy components
>> >>
>> >> Thanks for an update Martin.
>> >>
>> >> Unfortunately using IAjaxCallDecorator#decorateScript() prevents
>> >> handling request (nothing happens).
>> >> If I append the stop script directly to ajax request target (before
>> >> sending event), then request proceeds, but the first lazy component
>> is
>> >> not loaded.
>> >>
>> >> Also, the stop script breaks ajax indicators (both from lazy
>> components
>> >> and indicating links). Exceptions still are present, but page isn't
>> >> crashing.
>> >>
>> >> So far the closest solution was using BookmarkablePageLink, but it
>> is
>> >> not ajax and it is just a workaround.
>> >>
>> >> Isn't there a way to prevent Wicket from handling "old" ajax
>> requests?
>> >> I assume that's how it should work with DROP channel.
>> >>
>> >> Best regards,
>> >> Michal Wegrzyn
>> >>
>> >> > -----Original Message-----
>> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> >> > Sent: Thursday, November 03, 2011 17:54
>> >> > To: users@wicket.apache.org
>> >> > Subject: Re: abort loading lazy components
>> >> >
>> >> > Here is something that I didn't know so far:
>> >> > http://stackoverflow.com/questions/930237/javascript-cancel-stop-
>> >> image-
>> >> > requests/1468452#1468452
>> >> >
>> >> > It seems there is a way to simulate browser's stop button with
>> >> > JavaScript.
>> >> > Try to use that code from IAjaxCallDecorator#decorateScript() for
>> >> your
>> >> > AjaxLink.
>> >> >
>> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
>> >> > <mi...@onior.com> wrote:
>> >> > > I've just debugged and indeed problem is that there is no
>> component
>> >> > with id "29".
>> >> > > So clearly Wicket looks for an lazy "children" component from
>> >> > outdated DataView component.
>> >> > >
>> >> > > Michal
>> >> > >
>> >> > >> -----Original Message-----
>> >> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
>> >> > >> Sent: Wednesday, November 02, 2011 16:11
>> >> > >> To: users@wicket.apache.org
>> >> > >> Subject: RE: abort loading lazy components
>> >> > >>
>> >> > >> It is triggered when there is already new "itemList" (it
>> extends
>> >> > >> DataView), so I suppose that
>> >> > >> PageAndComponentProvider looks for "itemList:29", which does
>> not
>> >> > exists
>> >> > >> anymore.
>> >> > >>
>> >> > >> Scenario:
>> >> > >>
>> >> > >> - Page is loaded but lazy components
>> >> > >> ('folders:listContainer:itemList:itemPanel:folder:children')
>> are
>> >> > still
>> >> > >> loading
>> >> > >> - User triggers folder change (itemList is replaced)
>> >> > >> - Exception occurs
>> >> > >>
>> >> > >> If user triggers folder change when lazy components are
>> completely
>> >> > >> loaded (or during loading the last one) there is no exception
>> at
>> >> > all.
>> >> > >>
>> >> > >> Best Regards,
>> >> > >> Michal Wegrzyn
>> >> > >>
>> >> > >> -----Original Message-----
>> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> >> > >> Sent: Wednesday, November 02, 2011 15:54
>> >> > >> To: users@wicket.apache.org
>> >> > >> Subject: Re: abort loading lazy components
>> >> > >>
>> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
>> >> > >> <mi...@onior.com> wrote:
>> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
>> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
>> >> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
>> >> > Could
>> >> > >> not find component
>> >> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children'
>> on
>> >> > page
>> >> > >> 'class package.MyPage
>> >> > >>
>> >> > >> Do you know how this is triggered ?
>> >> > >
>> >> > >
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Martin Grigorov
>> >> > jWeekend
>> >> > Training, Consulting, Development
>> >> > http://jWeekend.com
>> >> >
>> >> > ------------------------------------------------------------------
>> ---
>> >> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> >> > For additional commands, e-mail: users-help@wicket.apache.org
>> >
>> >
>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Thursday, November 10, 2011 9:48
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> Hi,
>
> I see no solution for your case.
> Using BookmarkablePageLink works as you confirmed but I'm not aware of
> clean way to cancel running Ajax requests and replace them with
> completely new one.
>
> XMLHttpRequest has #abort() method which cancels the request but this
> will lead co "socket close exception"s in the server side.
>

Right, I've already looked at XMLHttpRequest#abort(). It wouldn't be a "clean" solution anyway.

> The best approach I see is to use the same AjaxChannel name for all
> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use type
> QUEUE and the AjaxLinks - type DROP. This way all LazyLoadPanels will
> load sequencially and if you click an AjaxLink it will cancel all
> pending LazyLoadPanels and will schedule the execution of the AjaxLink
> after the end of the currently loading LazyLoadPanel
>
> HTH

That's what I've already done - Wicket schedules and executes AjaxLink action (it does not wait for other lazy panels - so far, so good ), but then (already during handling new ajax request) Wicket throws exception. Isn't it a Wicket bug?

15:31:11.847 user [http-8888-2] WARN  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be handled by BufferedResponseRequestHandler
15:32:24.028 user [http-8888-5] ERROR o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'folders:listContainer:itemList:29:itemPanel:folder:children' on page 'class package.MyPage
        at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getComponent(ListenerInterfaceRequestHandler.java:92)
        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:169)
        at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750)
        at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
        at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252)
        at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209)
        at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280)
        at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Unknown Source) 15:32:24.050 user [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error detaching RequestHandler
org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'folders:listContainer:itemList:29:itemPanel:folder:children' on page 'class package.MyPage
        at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
        at org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init>(ListenerInterfaceLogData.java:51)
        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detach(ListenerInterfaceRequestHandler.java:134)
        at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(RequestCycle.java:761)
        at org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:180)
        at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:565)
        at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:508)
        at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:284)
        at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Unknown Source)
15:32:24.183 user [http-8888-2] WARN  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be handled by BufferedResponseRequestHandler


> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
> <mi...@onior.com> wrote:
> > Hi,
> >
> > Could you please tell me what is the status of this issue?
> > Should I create a Jira issue and/or quickstart or is it won't
> fix/invalid?
> >
> > Best regards,
> > Michal Wegrzyn
> >
> >> -----Original Message-----
> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> Sent: Friday, November 04, 2011 11:56
> >> To: users@wicket.apache.org
> >> Subject: RE: abort loading lazy components
> >>
> >> Thanks for an update Martin.
> >>
> >> Unfortunately using IAjaxCallDecorator#decorateScript() prevents
> >> handling request (nothing happens).
> >> If I append the stop script directly to ajax request target (before
> >> sending event), then request proceeds, but the first lazy component
> is
> >> not loaded.
> >>
> >> Also, the stop script breaks ajax indicators (both from lazy
> components
> >> and indicating links). Exceptions still are present, but page isn't
> >> crashing.
> >>
> >> So far the closest solution was using BookmarkablePageLink, but it
> is
> >> not ajax and it is just a workaround.
> >>
> >> Isn't there a way to prevent Wicket from handling "old" ajax
> requests?
> >> I assume that's how it should work with DROP channel.
> >>
> >> Best regards,
> >> Michal Wegrzyn
> >>
> >> > -----Original Message-----
> >> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> > Sent: Thursday, November 03, 2011 17:54
> >> > To: users@wicket.apache.org
> >> > Subject: Re: abort loading lazy components
> >> >
> >> > Here is something that I didn't know so far:
> >> > http://stackoverflow.com/questions/930237/javascript-cancel-stop-
> >> image-
> >> > requests/1468452#1468452
> >> >
> >> > It seems there is a way to simulate browser's stop button with
> >> > JavaScript.
> >> > Try to use that code from IAjaxCallDecorator#decorateScript() for
> >> your
> >> > AjaxLink.
> >> >
> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
> >> > <mi...@onior.com> wrote:
> >> > > I've just debugged and indeed problem is that there is no
> component
> >> > with id "29".
> >> > > So clearly Wicket looks for an lazy "children" component from
> >> > outdated DataView component.
> >> > >
> >> > > Michal
> >> > >
> >> > >> -----Original Message-----
> >> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> > >> Sent: Wednesday, November 02, 2011 16:11
> >> > >> To: users@wicket.apache.org
> >> > >> Subject: RE: abort loading lazy components
> >> > >>
> >> > >> It is triggered when there is already new "itemList" (it
> extends
> >> > >> DataView), so I suppose that
> >> > >> PageAndComponentProvider looks for "itemList:29", which does
> not
> >> > exists
> >> > >> anymore.
> >> > >>
> >> > >> Scenario:
> >> > >>
> >> > >> - Page is loaded but lazy components
> >> > >> ('folders:listContainer:itemList:itemPanel:folder:children')
> are
> >> > still
> >> > >> loading
> >> > >> - User triggers folder change (itemList is replaced)
> >> > >> - Exception occurs
> >> > >>
> >> > >> If user triggers folder change when lazy components are
> completely
> >> > >> loaded (or during loading the last one) there is no exception
> at
> >> > all.
> >> > >>
> >> > >> Best Regards,
> >> > >> Michal Wegrzyn
> >> > >>
> >> > >> -----Original Message-----
> >> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> > >> Sent: Wednesday, November 02, 2011 15:54
> >> > >> To: users@wicket.apache.org
> >> > >> Subject: Re: abort loading lazy components
> >> > >>
> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> >> > >> <mi...@onior.com> wrote:
> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> >> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
> >> > Could
> >> > >> not find component
> >> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children'
> on
> >> > page
> >> > >> 'class package.MyPage
> >> > >>
> >> > >> Do you know how this is triggered ?
> >> > >
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > Martin Grigorov
> >> > jWeekend
> >> > Training, Consulting, Development
> >> > http://jWeekend.com
> >> >
> >> > ------------------------------------------------------------------
> ---
> >> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> > For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


Re: abort loading lazy components

Posted by Martin Grigorov <mg...@apache.org>.
Hi,

I see no solution for your case.
Using BookmarkablePageLink works as you confirmed but I'm not aware of
clean way to cancel running Ajax requests and replace them with
completely new one.

XMLHttpRequest has #abort() method which cancels the request but this
will lead co "socket close exception"s in the server side.

The best approach I see is to use the same AjaxChannel name for all
LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use type
QUEUE and the AjaxLinks - type DROP. This way all LazyLoadPanels will
load sequencially and if you click an AjaxLink it will cancel all
pending LazyLoadPanels and will schedule the execution of the AjaxLink
after the end of the currently loading LazyLoadPanel

HTH

On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
<mi...@onior.com> wrote:
> Hi,
>
> Could you please tell me what is the status of this issue?
> Should I create a Jira issue and/or quickstart or is it won't fix/invalid?
>
> Best regards,
> Michal Wegrzyn
>
>> -----Original Message-----
>> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
>> Sent: Friday, November 04, 2011 11:56
>> To: users@wicket.apache.org
>> Subject: RE: abort loading lazy components
>>
>> Thanks for an update Martin.
>>
>> Unfortunately using IAjaxCallDecorator#decorateScript() prevents
>> handling request (nothing happens).
>> If I append the stop script directly to ajax request target (before
>> sending event), then request proceeds, but the first lazy component is
>> not loaded.
>>
>> Also, the stop script breaks ajax indicators (both from lazy components
>> and indicating links). Exceptions still are present, but page isn't
>> crashing.
>>
>> So far the closest solution was using BookmarkablePageLink, but it is
>> not ajax and it is just a workaround.
>>
>> Isn't there a way to prevent Wicket from handling "old" ajax requests?
>> I assume that's how it should work with DROP channel.
>>
>> Best regards,
>> Michal Wegrzyn
>>
>> > -----Original Message-----
>> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> > Sent: Thursday, November 03, 2011 17:54
>> > To: users@wicket.apache.org
>> > Subject: Re: abort loading lazy components
>> >
>> > Here is something that I didn't know so far:
>> > http://stackoverflow.com/questions/930237/javascript-cancel-stop-
>> image-
>> > requests/1468452#1468452
>> >
>> > It seems there is a way to simulate browser's stop button with
>> > JavaScript.
>> > Try to use that code from IAjaxCallDecorator#decorateScript() for
>> your
>> > AjaxLink.
>> >
>> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
>> > <mi...@onior.com> wrote:
>> > > I've just debugged and indeed problem is that there is no component
>> > with id "29".
>> > > So clearly Wicket looks for an lazy "children" component from
>> > outdated DataView component.
>> > >
>> > > Michal
>> > >
>> > >> -----Original Message-----
>> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
>> > >> Sent: Wednesday, November 02, 2011 16:11
>> > >> To: users@wicket.apache.org
>> > >> Subject: RE: abort loading lazy components
>> > >>
>> > >> It is triggered when there is already new "itemList" (it extends
>> > >> DataView), so I suppose that
>> > >> PageAndComponentProvider looks for "itemList:29", which does not
>> > exists
>> > >> anymore.
>> > >>
>> > >> Scenario:
>> > >>
>> > >> - Page is loaded but lazy components
>> > >> ('folders:listContainer:itemList:itemPanel:folder:children') are
>> > still
>> > >> loading
>> > >> - User triggers folder change (itemList is replaced)
>> > >> - Exception occurs
>> > >>
>> > >> If user triggers folder change when lazy components are completely
>> > >> loaded (or during loading the last one) there is no exception at
>> > all.
>> > >>
>> > >> Best Regards,
>> > >> Michal Wegrzyn
>> > >>
>> > >> -----Original Message-----
>> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> > >> Sent: Wednesday, November 02, 2011 15:54
>> > >> To: users@wicket.apache.org
>> > >> Subject: Re: abort loading lazy components
>> > >>
>> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
>> > >> <mi...@onior.com> wrote:
>> > >> > 15:32:24.028 user [http-8888-5] ERROR
>> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
>> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
>> > Could
>> > >> not find component
>> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children' on
>> > page
>> > >> 'class package.MyPage
>> > >>
>> > >> Do you know how this is triggered ?
>> > >
>> > >
>> >
>> >
>> >
>> > --
>> > Martin Grigorov
>> > jWeekend
>> > Training, Consulting, Development
>> > http://jWeekend.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> > For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
Hi,

Could you please tell me what is the status of this issue?
Should I create a Jira issue and/or quickstart or is it won't fix/invalid?

Best regards,
Michal Wegrzyn

> -----Original Message-----
> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> Sent: Friday, November 04, 2011 11:56
> To: users@wicket.apache.org
> Subject: RE: abort loading lazy components
> 
> Thanks for an update Martin.
> 
> Unfortunately using IAjaxCallDecorator#decorateScript() prevents
> handling request (nothing happens).
> If I append the stop script directly to ajax request target (before
> sending event), then request proceeds, but the first lazy component is
> not loaded.
> 
> Also, the stop script breaks ajax indicators (both from lazy components
> and indicating links). Exceptions still are present, but page isn't
> crashing.
> 
> So far the closest solution was using BookmarkablePageLink, but it is
> not ajax and it is just a workaround.
> 
> Isn't there a way to prevent Wicket from handling "old" ajax requests?
> I assume that's how it should work with DROP channel.
> 
> Best regards,
> Michal Wegrzyn
> 
> > -----Original Message-----
> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > Sent: Thursday, November 03, 2011 17:54
> > To: users@wicket.apache.org
> > Subject: Re: abort loading lazy components
> >
> > Here is something that I didn't know so far:
> > http://stackoverflow.com/questions/930237/javascript-cancel-stop-
> image-
> > requests/1468452#1468452
> >
> > It seems there is a way to simulate browser's stop button with
> > JavaScript.
> > Try to use that code from IAjaxCallDecorator#decorateScript() for
> your
> > AjaxLink.
> >
> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
> > <mi...@onior.com> wrote:
> > > I've just debugged and indeed problem is that there is no component
> > with id "29".
> > > So clearly Wicket looks for an lazy "children" component from
> > outdated DataView component.
> > >
> > > Michal
> > >
> > >> -----Original Message-----
> > >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> > >> Sent: Wednesday, November 02, 2011 16:11
> > >> To: users@wicket.apache.org
> > >> Subject: RE: abort loading lazy components
> > >>
> > >> It is triggered when there is already new "itemList" (it extends
> > >> DataView), so I suppose that
> > >> PageAndComponentProvider looks for "itemList:29", which does not
> > exists
> > >> anymore.
> > >>
> > >> Scenario:
> > >>
> > >> - Page is loaded but lazy components
> > >> ('folders:listContainer:itemList:itemPanel:folder:children') are
> > still
> > >> loading
> > >> - User triggers folder change (itemList is replaced)
> > >> - Exception occurs
> > >>
> > >> If user triggers folder change when lazy components are completely
> > >> loaded (or during loading the last one) there is no exception at
> > all.
> > >>
> > >> Best Regards,
> > >> Michal Wegrzyn
> > >>
> > >> -----Original Message-----
> > >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > >> Sent: Wednesday, November 02, 2011 15:54
> > >> To: users@wicket.apache.org
> > >> Subject: Re: abort loading lazy components
> > >>
> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> > >> <mi...@onior.com> wrote:
> > >> > 15:32:24.028 user [http-8888-5] ERROR
> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> > >> > org.apache.wicket.request.handler.ComponentNotFoundException:
> > Could
> > >> not find component
> > >> 'folders:listContainer:itemList:29:itemPanel:folder:children' on
> > page
> > >> 'class package.MyPage
> > >>
> > >> Do you know how this is triggered ?
> > >
> > >
> >
> >
> >
> > --
> > Martin Grigorov
> > jWeekend
> > Training, Consulting, Development
> > http://jWeekend.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
Thanks for an update Martin.

Unfortunately using IAjaxCallDecorator#decorateScript() prevents handling request (nothing happens).
If I append the stop script directly to ajax request target (before sending event), then request proceeds, but the first lazy component is not loaded.

Also, the stop script breaks ajax indicators (both from lazy components and indicating links). Exceptions still are present, but page isn't crashing.

So far the closest solution was using BookmarkablePageLink, but it is not ajax and it is just a workaround.

Isn't there a way to prevent Wicket from handling "old" ajax requests? I assume that's how it should work with DROP channel.

Best regards,
Michal Wegrzyn

> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Thursday, November 03, 2011 17:54
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
> 
> Here is something that I didn't know so far:
> http://stackoverflow.com/questions/930237/javascript-cancel-stop-image-
> requests/1468452#1468452
> 
> It seems there is a way to simulate browser's stop button with
> JavaScript.
> Try to use that code from IAjaxCallDecorator#decorateScript() for your
> AjaxLink.
> 
> On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
> <mi...@onior.com> wrote:
> > I've just debugged and indeed problem is that there is no component
> with id "29".
> > So clearly Wicket looks for an lazy "children" component from
> outdated DataView component.
> >
> > Michal
> >
> >> -----Original Message-----
> >> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> >> Sent: Wednesday, November 02, 2011 16:11
> >> To: users@wicket.apache.org
> >> Subject: RE: abort loading lazy components
> >>
> >> It is triggered when there is already new "itemList" (it extends
> >> DataView), so I suppose that
> >> PageAndComponentProvider looks for "itemList:29", which does not
> exists
> >> anymore.
> >>
> >> Scenario:
> >>
> >> - Page is loaded but lazy components
> >> ('folders:listContainer:itemList:itemPanel:folder:children') are
> still
> >> loading
> >> - User triggers folder change (itemList is replaced)
> >> - Exception occurs
> >>
> >> If user triggers folder change when lazy components are completely
> >> loaded (or during loading the last one) there is no exception at
> all.
> >>
> >> Best Regards,
> >> Michal Wegrzyn
> >>
> >> -----Original Message-----
> >> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> >> Sent: Wednesday, November 02, 2011 15:54
> >> To: users@wicket.apache.org
> >> Subject: Re: abort loading lazy components
> >>
> >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> >> <mi...@onior.com> wrote:
> >> > 15:32:24.028 user [http-8888-5] ERROR
> >> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> >> > org.apache.wicket.request.handler.ComponentNotFoundException:
> Could
> >> not find component
> >> 'folders:listContainer:itemList:29:itemPanel:folder:children' on
> page
> >> 'class package.MyPage
> >>
> >> Do you know how this is triggered ?
> >
> >
> 
> 
> 
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


Re: abort loading lazy components

Posted by Martin Grigorov <mg...@apache.org>.
Here is something that I didn't know so far:
http://stackoverflow.com/questions/930237/javascript-cancel-stop-image-requests/1468452#1468452

It seems there is a way to simulate browser's stop button with JavaScript.
Try to use that code from IAjaxCallDecorator#decorateScript() for your
AjaxLink.

On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn <mi...@onior.com> wrote:
> I've just debugged and indeed problem is that there is no component with id "29".
> So clearly Wicket looks for an lazy "children" component from outdated DataView component.
>
> Michal
>
>> -----Original Message-----
>> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
>> Sent: Wednesday, November 02, 2011 16:11
>> To: users@wicket.apache.org
>> Subject: RE: abort loading lazy components
>>
>> It is triggered when there is already new "itemList" (it extends
>> DataView), so I suppose that
>> PageAndComponentProvider looks for "itemList:29", which does not exists
>> anymore.
>>
>> Scenario:
>>
>> - Page is loaded but lazy components
>> ('folders:listContainer:itemList:itemPanel:folder:children') are still
>> loading
>> - User triggers folder change (itemList is replaced)
>> - Exception occurs
>>
>> If user triggers folder change when lazy components are completely
>> loaded (or during loading the last one) there is no exception at all.
>>
>> Best Regards,
>> Michal Wegrzyn
>>
>> -----Original Message-----
>> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> Sent: Wednesday, November 02, 2011 15:54
>> To: users@wicket.apache.org
>> Subject: Re: abort loading lazy components
>>
>> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
>> <mi...@onior.com> wrote:
>> > 15:32:24.028 user [http-8888-5] ERROR
>> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
>> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
>> not find component
>> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
>> 'class package.MyPage
>>
>> Do you know how this is triggered ?
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
I've just debugged and indeed problem is that there is no component with id "29".
So clearly Wicket looks for an lazy "children" component from outdated DataView component.

Michal

> -----Original Message-----
> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> Sent: Wednesday, November 02, 2011 16:11
> To: users@wicket.apache.org
> Subject: RE: abort loading lazy components
> 
> It is triggered when there is already new "itemList" (it extends
> DataView), so I suppose that
> PageAndComponentProvider looks for "itemList:29", which does not exists
> anymore.
> 
> Scenario:
> 
> - Page is loaded but lazy components
> ('folders:listContainer:itemList:itemPanel:folder:children') are still
> loading
> - User triggers folder change (itemList is replaced)
> - Exception occurs
> 
> If user triggers folder change when lazy components are completely
> loaded (or during loading the last one) there is no exception at all.
> 
> Best Regards,
> Michal Wegrzyn
> 
> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Wednesday, November 02, 2011 15:54
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
> 
> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> <mi...@onior.com> wrote:
> > 15:32:24.028 user [http-8888-5] ERROR
> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
> not find component
> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
> 'class package.MyPage
> 
> Do you know how this is triggered ?


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
It is triggered when there is already new "itemList" (it extends DataView), so I suppose that 
PageAndComponentProvider looks for "itemList:29", which does not exists anymore.

Scenario:

- Page is loaded but lazy components ('folders:listContainer:itemList:itemPanel:folder:children') are still loading
- User triggers folder change (itemList is replaced)
- Exception occurs

If user triggers folder change when lazy components are completely loaded (or during loading the last one) there is no exception at all.

Best Regards,
Michal Wegrzyn

-----Original Message-----
From: Martin Grigorov [mailto:mgrigorov@apache.org] 
Sent: Wednesday, November 02, 2011 15:54
To: users@wicket.apache.org
Subject: Re: abort loading lazy components

On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn <mi...@onior.com> wrote:
> 15:32:24.028 user [http-8888-5] ERROR o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'folders:listContainer:itemList:29:itemPanel:folder:children' on page 'class package.MyPage

Do you know how this is triggered ?


Re: abort loading lazy components

Posted by Martin Grigorov <mg...@apache.org>.
On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn <mi...@onior.com> wrote:
> I've updated to Wicket 1.5.2 and I can see also some warnings surrounding exceptions.
> Is it a bug or am I missing something?
>
> Below full log:
>
> 15:31:11.847 user [http-8888-2] WARN  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be handled by BufferedResponseRequestHandler

WICKET-4163
More or less harmless.

> 15:32:24.028 user [http-8888-5] ERROR o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
> org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'folders:listContainer:itemList:29:itemPanel:folder:children' on page 'class package.MyPage

Do you know how this is triggered ?

>        at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
>        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getComponent(ListenerInterfaceRequestHandler.java:92)
>        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:169)
>        at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750)
>        at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>        at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252)
>        at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209)
>        at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280)
>        at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
>        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
>        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
>        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
>        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
>        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>        at java.lang.Thread.run(Unknown Source)
> 15:32:24.050 user [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error detaching RequestHandler
> org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'folders:listContainer:itemList:29:itemPanel:folder:children' on page 'class package.MyPage

WICKET-4189
Disable RequestLogger and reenable it for 1.5.3

>        at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
>        at org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init>(ListenerInterfaceLogData.java:51)
>        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detach(ListenerInterfaceRequestHandler.java:134)
>        at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(RequestCycle.java:761)
>        at org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:180)
>        at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:565)
>        at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:508)
>        at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:284)
>        at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
>        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
>        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
>        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
>        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
>        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
>        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>        at java.lang.Thread.run(Unknown Source)
> 15:32:24.183 user [http-8888-2] WARN  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be handled by BufferedResponseRequestHandler
>
> Best regards,
> Michal Wegrzyn
>
> -----Original Message-----
> From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
> Sent: Tuesday, November 01, 2011 13:03
> To: users@wicket.apache.org
> Subject: RE: abort loading lazy components
>
> It seems that this is what I was looking for.
>
> Unfortunately I get ComponentNotFoundException already
> during handling my new ajax request. It seems that
> request handler tries to render component which does not
> exist anymore (from page's previous state):
>
> org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component
> 'path:to:my:lazy:component' on page 'class package.MyPage'
>     at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
>     at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getComponent(ListenerInterfaceRequestHandler.java:81)
>     at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:150)
>     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:712)
>     at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
>     at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:208)
>     at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:251)
>     at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
>     at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
>
> Best regards,
> Michal Wegrzyn
>
> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Tuesday, November 01, 2011 12:09
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> See org.apache.wicket.ajax.AjaxChannel.Type.DROP
> You'll have to override AjaxLink#getChannel() to return DROP if you
> want clicking on this AjaxLink to remove all scheduled ajax calls at
> the client side.
> But even with this improvement you'll still have to wait for the
> currently being executed Ajax call (the first lazy loading component).
>
> On Tue, Nov 1, 2011 at 1:03 PM, Michal Wegrzyn <mi...@onior.com> wrote:
>> Thanks for reply Martin.
>>
>> Using BookmarkablePageLink indeed cancels other lazy ajax requests,
>> but then page is created from the scratch (as BookmarkablePageLink
>> extends normal Link).
>>
>> At the moment only AjaxLinks are used (so they create just another ajax
>> requests that are queued after ajax lazy requests) and one page, so
>> I would like to do it without reloading whole page.
>>
>> Best regards,
>> Michal Wegrzyn
>>
>> -----Original Message-----
>> From: Martin Grigorov [mailto:mgrigorov@apache.org]
>> Sent: Tuesday, November 01, 2011 11:05
>> To: users@wicket.apache.org
>> Subject: Re: abort loading lazy components
>>
>> On Tue, Nov 1, 2011 at 10:36 AM, Michal Wegrzyn
>> <mi...@onior.com> wrote:
>>> Hello,
>>>
>>> In application which I am developing AjaxLazyLoadPanel is used for several components.
>>> Wicket creates queue of synchronous Ajax requests for every lazy component.
>>>
>>> I saw several discussions about the way how Wicket loads the components
>>> (and AFAIK Wicket can do it only synchronously), but I could not find anything about
>>> canceling these requests.
>>>
>>> Now, even if user triggers new request, he still has to wait to load all lazy components.
>>> Then Wicket continues with request which was triggered during loading lazy components.
>>
>> Even when the new request is issued by BookmarkablePageLink ?
>>
>> I can see how requests to the same page instance are queued but
>> request to new page should be possible.
>>
>>>
>>> Is there any way to cancel loading of the lazy components and handle new request immediately?
>>>
>>> Yours sincerely,
>>>
>>> Michal Wegrzyn
>>>
>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
I've updated to Wicket 1.5.2 and I can see also some warnings surrounding exceptions.
Is it a bug or am I missing something?

Below full log:

15:31:11.847 user [http-8888-2] WARN  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be handled by BufferedResponseRequestHandler
15:32:24.028 user [http-8888-5] ERROR o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'folders:listContainer:itemList:29:itemPanel:folder:children' on page 'class package.MyPage
        at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getComponent(ListenerInterfaceRequestHandler.java:92)
        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:169)
        at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750)
        at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
        at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252)
        at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209)
        at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280)
        at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Unknown Source)
15:32:24.050 user [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error detaching RequestHandler
org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'folders:listContainer:itemList:29:itemPanel:folder:children' on page 'class package.MyPage
        at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
        at org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init>(ListenerInterfaceLogData.java:51)
        at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detach(ListenerInterfaceRequestHandler.java:134)
        at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(RequestCycle.java:761)
        at org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:180)
        at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:565)
        at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:508)
        at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:284)
        at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Unknown Source)
15:32:24.183 user [http-8888-2] WARN  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be handled by BufferedResponseRequestHandler

Best regards,
Michal Wegrzyn

-----Original Message-----
From: Michal Wegrzyn [mailto:michal.wegrzyn@onior.com]
Sent: Tuesday, November 01, 2011 13:03
To: users@wicket.apache.org
Subject: RE: abort loading lazy components

It seems that this is what I was looking for.

Unfortunately I get ComponentNotFoundException already
during handling my new ajax request. It seems that
request handler tries to render component which does not
exist anymore (from page's previous state):

org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component
'path:to:my:lazy:component' on page 'class package.MyPage'
     at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
     at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getComponent(ListenerInterfaceRequestHandler.java:81)
     at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:150)
     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:712)
     at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
     at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:208)
     at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:251)
     at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
     at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)

Best regards,
Michal Wegrzyn

-----Original Message-----
From: Martin Grigorov [mailto:mgrigorov@apache.org]
Sent: Tuesday, November 01, 2011 12:09
To: users@wicket.apache.org
Subject: Re: abort loading lazy components

See org.apache.wicket.ajax.AjaxChannel.Type.DROP
You'll have to override AjaxLink#getChannel() to return DROP if you
want clicking on this AjaxLink to remove all scheduled ajax calls at
the client side.
But even with this improvement you'll still have to wait for the
currently being executed Ajax call (the first lazy loading component).

On Tue, Nov 1, 2011 at 1:03 PM, Michal Wegrzyn <mi...@onior.com> wrote:
> Thanks for reply Martin.
>
> Using BookmarkablePageLink indeed cancels other lazy ajax requests,
> but then page is created from the scratch (as BookmarkablePageLink
> extends normal Link).
>
> At the moment only AjaxLinks are used (so they create just another ajax
> requests that are queued after ajax lazy requests) and one page, so
> I would like to do it without reloading whole page.
>
> Best regards,
> Michal Wegrzyn
>
> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Tuesday, November 01, 2011 11:05
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> On Tue, Nov 1, 2011 at 10:36 AM, Michal Wegrzyn
> <mi...@onior.com> wrote:
>> Hello,
>>
>> In application which I am developing AjaxLazyLoadPanel is used for several components.
>> Wicket creates queue of synchronous Ajax requests for every lazy component.
>>
>> I saw several discussions about the way how Wicket loads the components
>> (and AFAIK Wicket can do it only synchronously), but I could not find anything about
>> canceling these requests.
>>
>> Now, even if user triggers new request, he still has to wait to load all lazy components.
>> Then Wicket continues with request which was triggered during loading lazy components.
>
> Even when the new request is issued by BookmarkablePageLink ?
>
> I can see how requests to the same page instance are queued but
> request to new page should be possible.
>
>>
>> Is there any way to cancel loading of the lazy components and handle new request immediately?
>>
>> Yours sincerely,
>>
>> Michal Wegrzyn
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>



--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
It seems that this is what I was looking for.

Unfortunately I get ComponentNotFoundException already 
during handling my new ajax request. It seems that 
request handler tries to render component which does not 
exist anymore (from page's previous state):

org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 
'path:to:my:lazy:component' on page 'class package.MyPage'
     at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:167)
     at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getComponent(ListenerInterfaceRequestHandler.java:81)
     at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:150)
     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:712)
     at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
     at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:208)
     at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:251)
     at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
     at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218) 

Best regards,
Michal Wegrzyn

-----Original Message-----
From: Martin Grigorov [mailto:mgrigorov@apache.org] 
Sent: Tuesday, November 01, 2011 12:09
To: users@wicket.apache.org
Subject: Re: abort loading lazy components

See org.apache.wicket.ajax.AjaxChannel.Type.DROP
You'll have to override AjaxLink#getChannel() to return DROP if you
want clicking on this AjaxLink to remove all scheduled ajax calls at
the client side.
But even with this improvement you'll still have to wait for the
currently being executed Ajax call (the first lazy loading component).

On Tue, Nov 1, 2011 at 1:03 PM, Michal Wegrzyn <mi...@onior.com> wrote:
> Thanks for reply Martin.
>
> Using BookmarkablePageLink indeed cancels other lazy ajax requests,
> but then page is created from the scratch (as BookmarkablePageLink
> extends normal Link).
>
> At the moment only AjaxLinks are used (so they create just another ajax
> requests that are queued after ajax lazy requests) and one page, so
> I would like to do it without reloading whole page.
>
> Best regards,
> Michal Wegrzyn
>
> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Tuesday, November 01, 2011 11:05
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> On Tue, Nov 1, 2011 at 10:36 AM, Michal Wegrzyn
> <mi...@onior.com> wrote:
>> Hello,
>>
>> In application which I am developing AjaxLazyLoadPanel is used for several components.
>> Wicket creates queue of synchronous Ajax requests for every lazy component.
>>
>> I saw several discussions about the way how Wicket loads the components
>> (and AFAIK Wicket can do it only synchronously), but I could not find anything about
>> canceling these requests.
>>
>> Now, even if user triggers new request, he still has to wait to load all lazy components.
>> Then Wicket continues with request which was triggered during loading lazy components.
>
> Even when the new request is issued by BookmarkablePageLink ?
>
> I can see how requests to the same page instance are queued but
> request to new page should be possible.
>
>>
>> Is there any way to cancel loading of the lazy components and handle new request immediately?
>>
>> Yours sincerely,
>>
>> Michal Wegrzyn
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: abort loading lazy components

Posted by Martin Grigorov <mg...@apache.org>.
See org.apache.wicket.ajax.AjaxChannel.Type.DROP
You'll have to override AjaxLink#getChannel() to return DROP if you
want clicking on this AjaxLink to remove all scheduled ajax calls at
the client side.
But even with this improvement you'll still have to wait for the
currently being executed Ajax call (the first lazy loading component).

On Tue, Nov 1, 2011 at 1:03 PM, Michal Wegrzyn <mi...@onior.com> wrote:
> Thanks for reply Martin.
>
> Using BookmarkablePageLink indeed cancels other lazy ajax requests,
> but then page is created from the scratch (as BookmarkablePageLink
> extends normal Link).
>
> At the moment only AjaxLinks are used (so they create just another ajax
> requests that are queued after ajax lazy requests) and one page, so
> I would like to do it without reloading whole page.
>
> Best regards,
> Michal Wegrzyn
>
> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Tuesday, November 01, 2011 11:05
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> On Tue, Nov 1, 2011 at 10:36 AM, Michal Wegrzyn
> <mi...@onior.com> wrote:
>> Hello,
>>
>> In application which I am developing AjaxLazyLoadPanel is used for several components.
>> Wicket creates queue of synchronous Ajax requests for every lazy component.
>>
>> I saw several discussions about the way how Wicket loads the components
>> (and AFAIK Wicket can do it only synchronously), but I could not find anything about
>> canceling these requests.
>>
>> Now, even if user triggers new request, he still has to wait to load all lazy components.
>> Then Wicket continues with request which was triggered during loading lazy components.
>
> Even when the new request is issued by BookmarkablePageLink ?
>
> I can see how requests to the same page instance are queued but
> request to new page should be possible.
>
>>
>> Is there any way to cancel loading of the lazy components and handle new request immediately?
>>
>> Yours sincerely,
>>
>> Michal Wegrzyn
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


RE: abort loading lazy components

Posted by Michal Wegrzyn <mi...@onior.com>.
Thanks for reply Martin.

Using BookmarkablePageLink indeed cancels other lazy ajax requests, 
but then page is created from the scratch (as BookmarkablePageLink
extends normal Link).

At the moment only AjaxLinks are used (so they create just another ajax 
requests that are queued after ajax lazy requests) and one page, so 
I would like to do it without reloading whole page.

Best regards,
Michal Wegrzyn

-----Original Message-----
From: Martin Grigorov [mailto:mgrigorov@apache.org] 
Sent: Tuesday, November 01, 2011 11:05
To: users@wicket.apache.org
Subject: Re: abort loading lazy components

On Tue, Nov 1, 2011 at 10:36 AM, Michal Wegrzyn
<mi...@onior.com> wrote:
> Hello,
>
> In application which I am developing AjaxLazyLoadPanel is used for several components.
> Wicket creates queue of synchronous Ajax requests for every lazy component.
>
> I saw several discussions about the way how Wicket loads the components
> (and AFAIK Wicket can do it only synchronously), but I could not find anything about
> canceling these requests.
>
> Now, even if user triggers new request, he still has to wait to load all lazy components.
> Then Wicket continues with request which was triggered during loading lazy components.

Even when the new request is issued by BookmarkablePageLink ?

I can see how requests to the same page instance are queued but
request to new page should be possible.

>
> Is there any way to cancel loading of the lazy components and handle new request immediately?
>
> Yours sincerely,
>
> Michal Wegrzyn
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: abort loading lazy components

Posted by Martin Grigorov <mg...@apache.org>.
On Tue, Nov 1, 2011 at 10:36 AM, Michal Wegrzyn
<mi...@onior.com> wrote:
> Hello,
>
> In application which I am developing AjaxLazyLoadPanel is used for several components.
> Wicket creates queue of synchronous Ajax requests for every lazy component.
>
> I saw several discussions about the way how Wicket loads the components
> (and AFAIK Wicket can do it only synchronously), but I could not find anything about
> canceling these requests.
>
> Now, even if user triggers new request, he still has to wait to load all lazy components.
> Then Wicket continues with request which was triggered during loading lazy components.

Even when the new request is issued by BookmarkablePageLink ?

I can see how requests to the same page instance are queued but
request to new page should be possible.

>
> Is there any way to cancel loading of the lazy components and handle new request immediately?
>
> Yours sincerely,
>
> Michal Wegrzyn
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org