Spring을 사용하는 WAS 환경 (8.5)의 DB2 데이터베이스에 OpenJPA 2.3.0 (동일한 문제가있는 2.2.0 이전)을 사용하고 있습니다. 문제는 결국 응용 프로그램이 결국 충돌 할 때까지 계속 더 많은 메모리를 사용하는 것입니다.내 JDBCBrokerFactory가 성장하는 이유
메모리 분석기를 (많이) 사용하면 JDBCBrokerFactory가 발생합니다. ConcurrentHashMap (16 개 항목 포함)은 사용량을 감안할 때 손실 된 메모리를 담당합니다. (최대 메모리 1024M, 10 시간의 과도하지만 너무 거친로드 후이 클래스는 400M을 담당하며 MAT 만 지적 함)
환경 (org.springframework.orm. jpa.SharedEntityManagerCreator 및 com.volvo.jvs.runtime.springutils.SpringContextBootstrapper)은 나에게는 놀라운 것이 아니지만 클래스가 성장하지 않거나 필요할 때 더 잘 축소 될 것으로 기대합니다. (JPA 2.2.0에는이 클래스를 유지하는 더 많은 클래스가 있었지만 아직 "우리"클래스는 없습니다.)
당연히이 클래스는 우리가 상호 작용하는 클래스 중 하나가 아닌 OpenJPA 구현 내부 JPA를 사용하는 것이 잘못되었다는 것을 알기가 어렵습니다.
JDBCBrokerFactory로부터의 혼란을 줄이기 위해 개선 할 수있는 것에 대한 아이디어 나 힌트는 대단히 감사하겠습니다.
/마틴
JPA를 사용하는 사용자 지정 쿼리의 경우 수동으로 연결을 관리하지 않으므로 닫을 수있는 것이 없습니다. JPA-xml-configuration이 잘되어 있기를 바랍니다. –