문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
java:database:bonecp [2013/01/04 12:13] kwon37xi 새로 만듦 |
java:database:bonecp [2015/09/30 09:57] (현재) kwon37xi |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== BoneCP ====== | ====== BoneCP ====== | ||
+ | * **Deprecated** 개발자가 HikariCP를 추천하고 있음. | ||
+ | * http:// | ||
* Multi Core CPU 지원, JDBC Connection Pool | * Multi Core CPU 지원, JDBC Connection Pool | ||
줄 6: | 줄 8: | ||
<code xml> | <code xml> | ||
<bean class=" | <bean class=" | ||
- | < | + | < |
- | < | + | < |
- | < | + | < |
- | < | + | < |
- | < | + | < |
< | < | ||
- | < | + | < |
- | < | + | < |
< | < | ||
< | < | ||
줄 22: | 줄 24: | ||
</ | </ | ||
</ | </ | ||
+ | * '' | ||
+ | ===== JMX MBean ===== | ||
+ | * 기본적으로 JMX MBean을 생성해준다. | ||
+ | * 해당 MBean의 이름은 '' | ||
+ | * '' | ||
+ | ===== 0.8.RELEASE bug ===== | ||
+ | < | ||
+ | WARN ConnectionPartition.finalizeReferent - BoneCP detected an unclosed connection (in pool 'pool name') and | ||
+ | will now attempt to close it for you. You should be closing this connection in your application - enable | ||
+ | connectionWatch for additional debugging assistance or set disableConnectionTracking to true to disable | ||
+ | this feature entirely. | ||
+ | |||
+ | # 위 WARNING이 발생하면서 MySQL 사용시에 다음과 같은 오류가 연쇄 발생 | ||
+ | .... | ||
+ | Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: | ||
+ | No operations allowed after connection closed. | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | '' | ||
+ | < | ||
+ | // Spring 등을 통해 connection release가 100% 보장되는 경우 다음처럼 커넥션 트랙킹을 disable. | ||
+ | boneCpDataSource.setDisableConnectionTracking(true); | ||
+ | |||
+ | // 다른곳에서의 해결책 : https:// | ||
+ | boneCpDataSource.setStatisticsEnabled(true); | ||
+ | boneCpDataSource.setReleaseHelperThreads(2); | ||
+ | </ | ||
+ | |||
+ | ===== Connection 끊김 문제 ===== | ||
+ | * 아래와 같은 에러가 발생한다.< | ||
+ | Database access problem. Killing off this connection and all remaining connections in the connection pool. SQL State = 08007 | ||
+ | Communications link failure during rollback(). Transaction resolution unknown. | ||
+ | </ | ||
+ | * 실제 DB 접속이 끊겨서 발생하는 오류인 듯 함. ping 쿼리 주기와 실제 ping이 날라가는지 확인 해 볼 것. 또한 ping을 날린다 하더라도 DB설정이나 네트워크 라우터 등에서 끊을 가능성도 배제할 수 없슴. |