16 커넥션풀

p283 - src/test/java/spring/jdbc/connection/DataSourceTest

@Slf4j
public class DataSourceTest {

    private static final String URL = "jdbc:mysql://localhost:3306/test";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "1234";

    @Test
    void dataSourceTest() throws SQLException {
        DriverManagerDataSource datasource = new DriverManagerDataSource(URL, USERNAME, PASSWORD);
        getConnection(datasource);
    }

    @Test
    void hikariCPDataSourceTest() throws SQLException, InterruptedException {
        // HikariCP DataSource 생성
        HikariDataSource dataSource = new HikariDataSource();
        dataSource.setJdbcUrl(URL);
        dataSource.setUsername(USERNAME);
        dataSource.setPassword(PASSWORD);
        dataSource.setMaximumPoolSize(10);
        dataSource.setPoolName("HikariPool");
        dataSource.setInitializationFailTimeout(5000);
        getConnection(dataSource);
        Thread.sleep(1000);
    }

    private void getConnection(DataSource dataSource) throws SQLException {
        Connection con1 = dataSource.getConnection();
        Connection con2 = dataSource.getConnection();
        log.info("con = {}", con1);
        log.info("con2 = {}", con2);
    }
}

p284 - src/main/resources/logback.xml

p286 - src/main/java/spring/jdbc/repository/UsersDataSourceRepository

p287 - src/test/java/spring/jdbc/repository/UsersDataSourceRepositoryTest

Last updated