[
https://issues.apache.org/jira/browse/WICKET-6022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14991802#comment-14991802
]
Paul commented on WICKET-6022:
------------------------------
The problem is, that I have a few operations which are a little bit slower and
which need to be done in the right order. Other operations which only need the
last click and which whould queue up, while the ajax chanel is blocked.
Therefore I'm using different chanels.
When I'm not changing the chanel, the request of the nested component is
canceled before beeing send to the server. Could it be, that the code is just
looking into chanel 0 (default) and not the other chanels?
This looks for me a little like WICKET-4959, especially as only nested
responses of removed resources make trouble.
Best solution would be, if the request is canceled before beeing send to the
server side.
Second best solution would be, that the server ignores the request.
> ComponentNotFoundException using AbstractAjaxTimerBehavior and different
> AjaxChanels
> ------------------------------------------------------------------------------------
>
> Key: WICKET-6022
> URL: https://issues.apache.org/jira/browse/WICKET-6022
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 6.20.0
> Reporter: Paul
> Assignee: Sven Meier
> Priority: Minor
> Attachments: quickstart.zip
>
>
> I've got the following problem:
> I use several Ajax-Channels for my Project. When an AbstractAjaxTimerBehavior
> is attached to a element which is later removed via Ajax, I get a little
> later a RuntimeException, as the Timer is still active, but has no Component
> left attached to the page.
> I attached a Quickstart demonstrating this problem. If you leave the
> AjaxChannel as it is, you won't have the problem, as the timers are stopped
> upon removal of the component the timer is attached to. But if the name of
> the channel differs from the default value, this problem occurs.
> Cheers
> Paul
> {quote}
> Stacktrace:
> Root cause:
> org.apache.wicket.core.request.handler.ComponentNotFoundException: Component
> 'panel:timer' has been removed from page.
> at
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:178)
> at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:890)
> at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
> at org.eclipse.jetty.server.Server.handle(Server.java:369)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
> at
> org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933)
> at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
> at
> org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
> at
> org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
> at java.lang.Thread.run(Unknown Source)
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)