2013-07-12 2 views
0

MySQL 5.6.12 및 MySQL Connector/J 5.1.25를 사용한 간단한 JPA 테스트를 위해 GlassFish 3.1.1의 EclipseLink 2.3을 사용하고 있습니다. 그것은 작동하지만 장기간에 걸친 프로세스에서 : 약 4-5 분. 'eclipselink.target-database'속성을 persistence.xml로 설정하면 이제 약 2 분이 소요됩니다. 여기MySQL Connector/J 장시간 실행 프로세스

당신이 지연을 볼 수있는 로그의 조각 :

Running org.consel.jc.jpa.test.JpaTest 
... 
[EL Config]: 2013-07-12 09:51:27.986--ServerSession(8831815)--Connection(11317592)--Thread(Thread[main,5,main])--connecting(DatabaseLogin(
     platform=>MySQLPlatform 
     user name=> "root" 
     datasource URL=> "jdbc:mysql://localhost:3306/sm" 
)) 
[EL Config]: 2013-07-12 09:53:33.157--ServerSession(8831815)--Connection(15177785)--Thread(Thread[main,5,main])--Connected: jdbc:mysql://localhost:3306/sm 
     User: [email protected] 
     Database: MySQL Version: 5.6.12 
     Driver: MySQL Connector Java Version: mysql-connector-java-5.1.25 (Revision: ${bzr.revision-id}) 
[EL Finest]: 2013-07-12 09:53:33.167--ServerSession(8831815)--Connection(15177785)--Thread(Thread[main,5,main])--Connection acquired from connection pool [default]. 
[EL Finest]: 2013-07-12 09:53:33.167--ServerSession(8831815)--Connection(15177785)--Thread(Thread[main,5,main])--Connection released to connection pool [default]. 

...

이 또한 내가 거래 유형 = "RESOURCE_LOCAL"를 사용에는 EclipseLink를 통해 트랜잭션을 관리 할 수 ​​있습니다. 원인을 조사하려면 어떻게해야합니까? 감사합니다

+0

연결 초기화 중일 것으로 보이므로 곧은 JDBC를 사용하여 동일한 기계/환경에서 동일한 데이터베이스에 연결하고 JPA 앱이 초기화되기 전에 처음 걸리는 시간을 확인하십시오. 이렇게하면 문제가 격리되고 네트워크 또는 드라이버 연결 문제인지 여부를 확인할 수 있습니다. – Chris

+0

나는 [JDBC 드라이버로 MySQL에 연결] 튜토리얼 (http://www.mkyong.com/jdbc/connect-to-oracle-db-via-jdbc-driver-java/)과 지연의 원인을 따라왔다. JDBC 드라이버 인 MySQL Connector/J입니다. 나는 그것의 일부 버전을 테스트 중입니다 ... – vimterd

+0

나는 모든 5.1.x 및 5.0.x 버전을 테스트했으며, 항상 약 2 분이 걸립니다. 한편 _drizzle-jdbc_ 1.2 및 _mariadb-connector-java_ 1.1.1에서는 2-3 초 정도 걸립니다. 나는 왜 공식 운전사와 나는이 문제가 있는지 모른다. – vimterd

답변

0

이 문제는 MySQL의 커넥터/J의 관련이 없습니다 , 나는 비활성하지만 어떤 식 으로든이 지연 발생했다 COMODO 방화벽을 제거 해결 해결.