Fixes https://github.com/spring-projects/spring-integration/issues/3307 The `DefaultLockRepository.acquire()` is transactional method and can fail with the `TransactionTimedOutException`. When we call `JdbcLock.lock()`, we expect an attempt until we really obtain a lock. * Treat a `TransactionTimedOutException` as a `TransientDataAccessException` and therefore retry a locking attempt logic **Cherry-pick to 5.3.x, 5.2.x & 4.3.x**