Matthias Streller created WICKET-7185:
-----------------------------------------

             Summary: Page refresh triggers endless refresh loop if multiple 
AbstractAjaxTimerBehavior are used
                 Key: WICKET-7185
                 URL: https://issues.apache.org/jira/browse/WICKET-7185
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 10.9.1, 9.23.0
         Environment: - Browser: Chrome, Firefox
- JDK 17
            Reporter: Matthias Streller
         Attachments: refresh-loop-quickstart.zip

When a page using at least two _AbstractAjaxTimerBehavior_ instances is 
refreshed while one of the timers also send a request, the page enters an 
endless refresh loop.
 
The problem occurs only, if the URL contains page parameters.
 
Attached I provided a small working example. Steps to reproduce:  # Visit demo 
page with page parameters e.g. 
[https://localhost:8443?foo=bar|https://localhost:8443/?foo=bar]
 # After page is loaded refresh page

 
After that, the page will start to refresh itself in an interval of approx 10 
seconds.
 
The timer event runs into an StalePageException, which causes a new refresh of 
the page:

{code:java}
[qtp1705929636-34] WARN RequestCycleExtra - Handling the following exception
org.apache.wicket.core.request.mapper.StalePageException: A request to page 
'[Page class = org.tracetronic.HomePage, id = 0, render count = 6]' has been 
made with stale 'renderCount'. The page will be re-rendered.{code}
It is unclear why the timer event triggered by the newly rendered page result 
in an invalid request again.
 
What's also interesting, if the page uses only one AbstractAjaxTimerBehavior, 
there will be only one 'unwanted' refresh of the page and after that the page 
continues to work normally.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to