mariadb connection time out - connection pool

circle-exclamation
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${db.driverClass}"></property>
        <property name="url" value="${db.url}"></property>
        <property name="username" value="${db.username}"></property>
        <property name="password" value="${db.password}"></property>
        <property name="maxActive" value="5" />
        <!-- 아무것도 안할때도 테스트 -->
        <property name="testWhileIdle" value="true" />
        <!-- 아무것도 안할때 테스트 간격 -->
        <property name="timeBetweenEvictionRunsMillis" value="5000" />
        <!-- pool 에서 가져올때마다 테스트할 것인지 -->
        <property name="testOnBorrow" value="false" />
        <!-- 테스트에 사용할 쿼리 : 최대한 가벼운 쿼리 -->
        <property name="validationQuery" value="SELECT 1" />
    </bean>
circle-info

위와 같이 설정하고 mariadb 에서 SHOW PROCESSLIST; 로 현재 프로세스들을 계속 조회해보면 설정한 서버에서 Command : Sleep, Time 이 timeBetweenEvictionRunsMillis 에서 설정한 값보다 적게 나오면 (지금같은경우는 0, 1, 2, 3, 4, 0, 1, 2, 3, ...) 설정이 된 것임.

Last updated

Was this helpful?