내용으로 건너뛰기
권남
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
•
marktext
•
aurora_mariadb
java:database:bonecp
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== BoneCP ====== * **Deprecated** 개발자가 HikariCP를 추천하고 있음. * http://jolbox.com/ * Multi Core CPU 지원, JDBC Connection Pool ===== 설정 예(Spring) ===== * [[http://jolbox.com/bonecp/downloads/site/apidocs/com/jolbox/bonecp/BoneCPConfig.html|BoneCPConfig (BoneCP :: Core Library 0.7.1.RELEASE API)]] <code xml> <bean class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> <property name="driverClass" value="#{driverClass}" /> <property name="jdbcUrl" value="#{jdbcUrl}" /> <property name="username" value="#{username}"/> <property name="password" value="#{password}"/> <property name="idleConnectionTestPeriodInSeconds" value="60"/> <property name="idleMaxAgeInSeconds" value="240"/> <property name="maxConnectionsPerPartition" value="#{maxConnectionsPerPartition}"/> <property name="minConnectionsPerPartition" value="#{minConnectionsPerPartition}"/> <property name="partitionCount" value="2"/> <property name="acquireIncrement" value="5"/> <property name="statementsCacheSize" value="100"/> <property name="releaseHelperThreads" value="3"/> <property name="connectionTimeoutInMs" value="10000"/> <property name="connectionTestStatement" value="/* ping */ select 1" /> </bean> </code> * ''idleMaxAge''는 ''idleConnectionTestPeriod''보다 커야한다. 그렇지 않으면 idleMaxAge에 도달하면 커넥션을 끊어버리기 때문에 실제로 ''idleConnectionTestPeriod''는 사실상 필요가 없어지게 된다. ===== JMX MBean ===== * 기본적으로 JMX MBean을 생성해준다. * 해당 MBean의 이름은 ''setPoolName()''으로 지정한 이름이된다. * ''boneCpDataSource.getConnection()''이 한 번이라도 호출이 되어야만 MBean이 생성된다. ===== 0.8.RELEASE bug ===== <code> 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. </code> [[https://bugs.launchpad.net/bonecp/+bug/1259257|Bug #1259257 “BoneCP 0.8.0-release erroneously detecting unclose...” : Bugs : BoneCP]] 버그 리포팅 돼 있는 상태. ''**boneCpDataSource.setDisableConnectionTracking(true);**''로 문제 해결됨. <code> // Spring 등을 통해 connection release가 100% 보장되는 경우 다음처럼 커넥션 트랙킹을 disable. boneCpDataSource.setDisableConnectionTracking(true); // 다른곳에서의 해결책 : https://groups.google.com/forum/#!topic/play-framework/eshzvWuNQcc boneCpDataSource.setStatisticsEnabled(true); boneCpDataSource.setReleaseHelperThreads(2); // 이 값을 2로하면 문제가 사라진다 함. </code> ===== Connection 끊김 문제 ===== * 아래와 같은 에러가 발생한다.<code> 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. </code> * 실제 DB 접속이 끊겨서 발생하는 오류인 듯 함. ping 쿼리 주기와 실제 ping이 날라가는지 확인 해 볼 것. 또한 ping을 날린다 하더라도 DB설정이나 네트워크 라우터 등에서 끊을 가능성도 배제할 수 없슴.
java/database/bonecp.txt
· 마지막으로 수정됨: 2015/09/30 09:57 저자
kwon37xi
문서 도구
문서 보기
이전 판
역링크
맨 위로