We are using custom workflow for some data processing and have used Thread.sleep(10000) in some method waiting. We are Catching the InterruptedException and along with logging it we are calling
As per cloud manager code scan, it comes up as vulnerabilities. Is there any possible way to handle this.
The main thread is waiting for some background process to complete while the main thread is sleeping.
The workflow reads a file and stores the processed data internally. We have called Thread.sleep in workflow process so that internally AEM can complete its processing
Is there any particular reason you want the main thread to wait.
Like, if the job is to read the file after it has been processed, you can just call the function within the one reading it and then the thread doesn't need to wait. Or are they independent of each other and that's why you want it to wait?
We have auto-advanced steps in the workflow which are being done by separate processes. Once the process reads the file, it created some data nodes in AEM and replicates those in order to persist them. Once it calls the replicate command, we are waiting for some time so that the next process access the correct data. So, if the wait is not there, the next process might read incomplete/unpublished data.
I'm not sure if interrupting the thread would be the best approach.
Instead, what I can suggest is, instead of this approach, what you can do is create a workflow launcher which can auto-trigger based on node changes in the particular path/paths.
The issue we are trying to resolve is not around workflows. It is around the compliant core for such scenarios to prevent SONAR issues.