I have an application with requests which fetch lists from huge tables (7 mil+ records) that can take up to 10 seconds to complete.
Is there any way to have a cancel button to cancel the request instead of waiting for the previous request to finish. Currently, if the user tries clicking the cancel button (a page redirect), then it will throw a ConcurrentRequestTimeoutException.
I could increase this timeout, as it is now set to 500 ms, but then the user would have to wait for the previous request to complete. I want it to cancel the previous request and redirect immediately.
Is this possible?
Button code:
<s:button id="cancelEdit" value="Cancel" propagation="end"
view="/reference/ProviderList.xhtml">
</s:button>
I also tried using h:commandButton and ending the conversation before-redirect in the page.xml file.
Leave the conversation behind by putting an actionListener=”#{conversation.leave}” attribute on your cancel button. If you have a add a propagation=”none” attribute instead.