1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import org.dbsyncer.connector.config.DatabaseConfig;
- import org.dbsyncer.connector.database.DatabaseConnectorMapper;
- import org.junit.Test;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.time.LocalDateTime;
- import java.util.concurrent.*;
- /**
- * @author AE86
- * @version 1.0.0
- * @date 2022/4/11 20:19
- */
- public class SqlServerConnectionTest {
- private final Logger logger = LoggerFactory.getLogger(getClass());
- @Test
- public void testConnection() throws InterruptedException {
- DatabaseConfig config = new DatabaseConfig();
- config.setUrl("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test");
- config.setUsername("sa");
- config.setPassword("123");
- config.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
- final DatabaseConnectorMapper connectorMapper = new DatabaseConnectorMapper(config);
- // 模拟并发
- final int threadSize = 100;
- final ExecutorService pool = Executors.newFixedThreadPool(threadSize);
- final CyclicBarrier barrier = new CyclicBarrier(threadSize);
- final CountDownLatch latch = new CountDownLatch(threadSize);
- for (int i = 0; i < threadSize; i++) {
- final int k = i + 3;
- pool.submit(() -> {
- try {
- barrier.await();
- // 模拟操作
- System.out.println(String.format("%s %s:%s", LocalDateTime.now(), Thread.currentThread().getName(), k));
- Object execute = connectorMapper.execute(tem -> tem.queryForObject("select 1", Integer.class));
- System.out.println(String.format("%s %s:%s execute=>%s", LocalDateTime.now(), Thread.currentThread().getName(), k, execute));
- } catch (InterruptedException e) {
- logger.error(e.getMessage());
- } catch (BrokenBarrierException e) {
- logger.error(e.getMessage());
- } catch (Exception e) {
- logger.error(e.getMessage());
- } finally {
- latch.countDown();
- }
- });
- }
- try {
- latch.await();
- logger.info("try to shutdown");
- pool.shutdown();
- } catch (InterruptedException e) {
- logger.error(e.getMessage());
- }
- TimeUnit.SECONDS.sleep(3);
- logger.info("test end");
- }
- }
|