package io.vertx.ext.jdbc; import io.vertx.core.json.JsonObject; import io.vertx.ext.sql.SQLClient; import org.junit.Test; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; /** * @author <a href="mailto:julien@julienviet.com">Julien Viet</a> */ public class SharedClientTest extends JDBCClientTestBase { @Test(timeout = 60000) public void testDeadlock() throws Exception { JsonObject config = config(); int num = 6; int iter = 5000; AtomicInteger count = new AtomicInteger(); List<Thread> threads = new ArrayList<>(); for (int i = 0;i < num;i++) { Thread t = new Thread() { @Override public void run() { for (int i = 0;i < iter;i++) { count.incrementAndGet(); SQLClient client = JDBCClient.createShared(vertx, config); client.close(); } } }; threads.add(t); } for (Thread t : threads) { t.start(); } for (Thread t : threads) { t.join(); } } }