diff --git a/spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/lock/JdbcLockRegistryDifferentClientTests.java b/spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/lock/JdbcLockRegistryDifferentClientTests.java index c0200a2ff5..e3badd500d 100644 --- a/spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/lock/JdbcLockRegistryDifferentClientTests.java +++ b/spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/lock/JdbcLockRegistryDifferentClientTests.java @@ -191,26 +191,19 @@ public class JdbcLockRegistryDifferentClientTests { @Test public void testOnlyOneLock() throws Exception { - testOnlyOneLock(null); - testOnlyOneLock("AABBCCDD"); - } - - private void testOnlyOneLock(String id) throws Exception { for (int i = 0; i < 100; i++) { final BlockingQueue locked = new LinkedBlockingQueue<>(); final CountDownLatch latch = new CountDownLatch(20); - ExecutorService pool = Executors.newFixedThreadPool(6); - ArrayList> tasks = new ArrayList>(); - final DefaultLockRepository client = (id == null) ? - new DefaultLockRepository(this.dataSource) : - new DefaultLockRepository(this.dataSource, id); - client.afterPropertiesSet(); - this.context.getAutowireCapableBeanFactory().autowireBean(client); + ExecutorService pool = Executors.newFixedThreadPool(20); + ArrayList> tasks = new ArrayList<>(); + for (int j = 0; j < 20; j++) { Callable task = () -> { + DefaultLockRepository client = new DefaultLockRepository(this.dataSource); + client.afterPropertiesSet(); Lock lock = new JdbcLockRegistry(client).obtain("foo"); try { - if (locked.isEmpty() && lock.tryLock()) { + if (locked.isEmpty() && lock.tryLock(Long.MAX_VALUE, TimeUnit.MILLISECONDS)) { if (locked.isEmpty()) { locked.add("done"); return true;