메모리 누수를 방지하기 위해 JDBC 드라이버가 강제로 등록 해제되었습니다

모나 :

웹 응용 프로그램을 실행할 때이 메시지가 나타납니다. 정상적으로 실행되지만 종료하는 동안이 메시지가 나타납니다.

심각 : 웹 응용 프로그램이 JBDC 드라이버 [oracle.jdbc.driver.OracleDriver]를 등록했지만 웹 응용 프로그램을 중지했을 때 등록을 해제하지 못했습니다. 메모리 누수를 방지하기 위해 JDBC 드라이버가 강제로 등록 해제되었습니다.

도움을 주셔서 감사합니다.

BalusC :

버전 6.0.24 때문에,와 톰캣 선박 메모리 누수 탐지 웹 애플리케이션의에서 JDBC 4.0 호환 드라이버가있을 때 다시 경고 메시지의 종류로 이어질 수 기능을 /WEB-INF/lib하는 자동 등록 자체가 사용하는 웹 애플리케이션의 시작시 ServiceLoaderAPI를 하지만, 어떤 webapp 종료 중에 자동 등록 취소 하지 않았습니다 . 이 메시지는 순수한 비공식적이며 Tomcat은 이미 메모리 누수 방지 조치를 취했습니다.

당신은 무엇을 할 수 있나요?

  1. 이러한 경고는 무시하십시오. Tomcat이 올바르게 작업하고 있습니다. 실제 버그는 귀하의 코드가 아닌 다른 사람의 코드 (문제의 JDBC 드라이버)에 있습니다. Tomcat이 작업을 올바르게 수행하고 JDBC 드라이버 공급 업체가 수정 될 때까지 기다렸다가 드라이버를 업그레이드 할 수있게하십시오. 반면에, 당신은 webapp 's에서 JDBC 드라이버를 삭제하지 말고 /WEB-INF/libserver 's에서만 삭제해야합니다 /lib. 여전히 webapp 's에 보관하는 경우을 /WEB-INF/lib사용하여 수동으로 등록 및 등록 취소해야합니다 ServletContextListener.

  2. 이러한 경고가 발생하지 않도록 Tomcat 6.0.23 이상으로 다운 그레이드하십시오. 그러나 자동으로 메모리 누수를 유지합니다. 결국 그것이 좋은지 확실하지 않습니다. 메모리 누수의 이러한 종류의 뒤에 주요 원인 중 하나 OutOfMemoryError문제 톰캣 hotdeployments 동안.

  3. JDBC 드라이버를 Tomcat /lib폴더 로 이동하고 드라이버 를 관리하기 위해 연결 풀링 된 데이터 소스를 갖습니다. Tomcat의 내장 DBCP는 드라이버를 닫을 때 제대로 등록을 취소하지 않습니다. WONTFIX로 닫힌 버그 DBCP-322 도 참조하십시오 . 오히려 DBCP를 DBCP보다 더 잘 수행하는 다른 연결 풀로 교체하고 싶습니다. 예를 들어, HikariCP , BoneCP 또는 Tomcat JDBC Pool이 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

TOP 리스트

  1. 1

    셀레늄의 모델 대화 상자에서 텍스트를 추출하는 방법은 무엇입니까?

  2. 2

    화살표와 테두리가있는 CSS 전용 툴팁

  3. 3

    Windows에서 Apache Kafka 오류-주 클래스 QuorumPeerMain을 찾거나로드 할 수 없습니다.

  4. 4

    Symfony 4 Validator-유효하지 않은 경우 자동 로그 아웃

  5. 5

    Zookeeper Cluster를 시작합니다. 오류 : 주 클래스 org.apache.zookeeper.server.quorum.QuorumPeerMain을 찾거나로드 할 수 없습니다.

  6. 6

    메모리 누수를 방지하기 위해 JDBC 드라이버가 강제로 등록 해제되었습니다

  7. 7

    PyCharm에서 프로젝트를 제거하는 방법은 무엇입니까?

  8. 8

    VSOMEIP-두 장치 (TCP / UDP) 간의 통신이 작동하지 않음

  9. 9

    Maven Groovy 및 Java + Lombok

  10. 10

    OpenCV로 여러 카메라 스트림을 캡처하는 방법은 무엇입니까?

  11. 11

    Gradle 프로젝트 종속성에서 META-INF를 어떻게 제외합니까?

  12. 12

    DbCommand.ExecuteNonQueryAsync ()> 0을 사용할 때 데이터베이스에서 쿼리가 실행되지 않습니다.

  13. 13

    wildfly에 배포하면 "15 초 후 잠금을 획득 할 수 없음"예외가 발생합니다.

  14. 14

    테스트의 JUnit 4에서 실행하지만 JUnit을 5하지 - 컴파일 깨끗하지만 0 테스트 실행

  15. 15

    Python을 사용하여 Windows 네트워크의 공유 폴더에 어떻게 액세스 할 수 있습니까?

  16. 16

    r의 24 시간 시계를 인식하도록 날짜 시간 열을 어떻게 분할합니까?

  17. 17

    오픈 JDK와 AdoptOpenJDK의 차이

  18. 18

    NVMe SSD의 GFortran 비 포맷 I / O 처리량

  19. 19

    div 사이의 여유 공간을 제거하는 방법

  20. 20

    스프링 부트 액추에이터 상태 엔드 포인트 + 동적 resilience4j 회로 차단기

  21. 21

    How do I make my own website able to be installed?

뜨겁다태그

보관