5.3. Cancelling Reports
If the report execution is running as a background task, it can be interrupted by the user.
To add the cancel option, set the reporting.useBackgroundReportProcessing property in the Administration > Application Properties screen.
reporting.useBackgroundReportProcessing = true
Thus, the window with the progress bar and the Cancel button will be displayed:
Figure 59. Cancel report
You can also set the processing timeout using the reporting.backgroundReportProcessingTimeoutMs property:
reporting.backgroundReportProcessingTimeoutMs = 30000
When the time is up, the task will be canceled regardless the result, and the user will receive an error message:
Figure 60. Report error
To cancel the report execution programmatically, use the cancelReportExecution()
method of the ReportService
interface that takes the identifiers of the user session and the report:
reportService.cancelReportExecution(userSessionId, report.getId());