There’s 2 issues I keep encountering and don’t know how to resolve it.
- GC overhead limit exceeded (Out of heap space, application currently using 2gb)
- App pauses ThreadPoolExecutor Pool size= 50, active threads = 50, queued task= 50
From my understanding you need 1 thread per message poll. I set taskExecutor pool size to 50 and file adapter to fixed rate of 25 max message per poll. So, how does issue 2) happen if at most it’ll use 25 threads out of 50?
I’m also using transaction-manager/sync factory to delete each file after processing. Does this have any impact on the above?