Optimize TransactionSynchronizationManager.getSynchronizations() to avoid sorting and ArrayList creation in case of a single TransactionSynchronization.
Comment From: marschall
Spring Batch registers a single TransactionSynchronization in TaskletStep#doExecute(StepExecution). In certain extreme cases the ArrayList and Object[] creation can become noticeable. This PR optimizes the case of a single TransactionSynchronization, avoids the sorting and instead calls Collections#singletonList(Object).
Before:
After:
Comment From: marschall
Thank you for merging