Hello,
I have a scheduled job (<job-config>) implemented inside our inhouse developed Confluence Plugin.
Inside this job, I am trying to delete a page using pageManager.trashPage(page, DefaultDeleteContext.DEFAULT).
This line of code works perfectly from inside any other class but it is not working properly from inside the scheduled job. When called from inside the scheduled job, the pageManager.trashPage() function deletes the page from all the search functionalities but I can still see it on the UI (I can still visit the page and see it in the tree of the space).
In addition, after calling pageManager.trashPage() on the page, If we try to search for all the pages on the space using the REST API (/rest/api/content/search) or using the JAVA API (cqlSearchService.searchContent(cql, pageRequest)), the aforementioned page is not returned with the results of the search.
Did anyone face this kind of behavior or does anyone know what could be causing this problem?
Thank you,
I had exactly the same problem. You can solve it by using the TransactionTemplate and executing the code of your job within a transaction.
For example:
public JobRunnerResponse runJob(JobRunnerRequest request) {
return transactionTemplate.execute(() -> {
...
pageManager.trashPage(page, DefaultDeleteContext.DEFAULT);
...
return JobRunnerResponse.success();
});
}
Best regards
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.