본문 바로가기

WAS/JBoss_WildFly

[WildFly_JBoss] 데이터소스 - Connection Valid 설정

#. 참고 글

(데이터소스 각종 파라미터값 설명)

https://chanchan-father.tistory.com/736

(DB 별 Validation 설정)

https://kboboman.tistory.com/entry/DB%EB%B3%84-validation-%EC%84%A4%EC%A0%95

(Flush Strategy 옵션 별 가이드)

https://access.redhat.com/solutions/409153

 


 

#. 설정 예시 (Pool 메뉴)

 

Flush Strategy

 - default 값인 FailingConnectionOnly 로 설정

 - 특별한 문제가 없다면 default 값을 유지하면 될 것으로 보임

 - 문제가 있는 connection만 제거되고 다른 connection에는 영향을 주지 않는다고 하는데, 

 

Flush Strategy - 사용 주의해야 하는 옵션

 - 아래 옵션들은 사용에 주의해야 한다

 - EntirePool : idle 상태 뿐만 아니라 active 상태의 connection도 포함하여 전부 삭제된다. 사용에 주의해야 한다.

 - AllConnections : JBoss7.* 버전에서 추가된 옵션. EntirePool과 비슷한 역할 수행.

 

Use Fast Fail

 - 마찬가지로 default 값인 false 로 설정

 - false 로 두는 것을 권장한다 한다.

 - true로 설정할 경우 복구 속도 자체는 빨라지지만, 불량한 connection이 일부 남게 되므로 결과적으로는 좋지 않음

 

 


 

#. 설정 예시 (Validation 메뉴)

 

Connection Valid 체크 방법 두가지

1. connection 테스트에 사용할 쿼리문 지정

 - Oracle DB의 경우 "SELECT 1 FROM DUAL"

2. connection 테스트에 사용할 Class명 지정

 - Orcle DB의 경우 "org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"

 

Validate On Match / Background Validation

 - 둘 중에 하나만 사용 가능하다

 - Validate On Match 옵션은 모든 request 마다 connection 테스트를 실행한다

 - Background Validation 옵션은 지정한 시간 마다 connection 테스트를 실행한다 (Background Validation Millis)