2010-03-30 3 views
2

내 응용 프로그램에 최대 절전 모드 검색을 사용하고 있습니다. 그것은 잘 구성되어 있으며 갑자기 작동이 멈출 때까지 약간의 시간이 다할 때까지 완벽하게 실행됩니다. 내 모델 (콩) 클래스의 수를 나타내는 이유. 최대 절전 모드 구성을 빌드하는 동안 구성에 추가 할 약 90 개의 클래스가 있습니다.많은 (90) 엔티티 클래스들로 Hibernate-Search가 매달려있다.

최대 절전 모드 검색을 사용하지 않도록 설정할 때 (검색 주석을 제거하고 AnnotationsConfiguration 대신 Configuration을 사용하는 경우), 제 응용 프로그램을 시작하려고하면 제대로 작동합니다.

하지만 검색을 사용하도록 설정하면 동일한 앱이 중지됩니다. 디버깅을 시도하고 정확한 위치를 찾았습니다.

모든 클래스를 내 AnnotationsConfiguration 객체에 추가 한 후 cfg.buildSessionfactory()라고 말하면 해당 성명이 절대로 나오지 않습니다. (나는 시간 동안 기다렸다!) 또한

을 내가 (같은 50 즉, 절반 말한다)은 그 진술 나오는 및 응용 프로그램이 잘 작동 내 모델 클래스의 수를 감소 할 때 ..

수 누군가 이런 일이 왜 일어나는 지 말하니 ?? 최대 절전 모드의 나의 버전은 다음과 같습니다 최대 절전 모드 코어-3.3.1.GA.jar 최대 절전 모드 - 주석 - 3.4.0.GA.jar 최대 절전 모드 - 평민 - 주석 - 3.1.0.GA.jar 최대 절전 모드 - 검색 - 3.1.0.GA.jar

또한 AnnotationsConfiguration을 사용하지 않으려면 검색 이벤트 리스너를 명시 적으로 구성해야한다고 읽었습니다. 모든 사람이 필요한 모든 리스너와 해당 클래스를 나열 할 수 있습니까? (I 하이버 네이트 검색 책에 주어진 표준 것들을했지만, 그들은 나에게면 ClassNotFound 예외를주고 내가 클래스 경로에있는 모든 neccesarty libs와이) 여기

내가 해낼 최대 절전 추적의 마지막 몇 줄 수 있습니다

16:09:32,814 INFO AnnotationConfiguration:369 - Hibernate Validator not found: ignoring 
16:09:32,892 INFO ConnectionProviderFactory:95 - Initializing connection provider: org.hibernate.connection.C3P0ConnectionProvider 
16:09:32,895 INFO C3P0ConnectionProvider:103 - C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/autolinkcrmcom_data 
16:09:32,898 INFO C3P0ConnectionProvider:104 - Connection properties: {user=root, password=****} 
16:09:32,900 INFO C3P0ConnectionProvider:107 - autocommit mode: false 
16:09:33,694 INFO SettingsFactory:116 - RDBMS: MySQL, version: 5.1.37-1ubuntu5.1 
16:09:33,696 INFO SettingsFactory:117 - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-3.1.10 ($Date: 2005/05/19 15:52:23 $, $Revision: 1.1.2.2 $) 
16:09:33,701 INFO Dialect:175 - Using dialect: org.hibernate.dialect.MySQLDialect 
16:09:33,707 INFO TransactionFactoryFactory:59 - Using default transaction strategy (direct JDBC transactions) 
16:09:33,709 INFO TransactionManagerLookupFactory:80 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 
16:09:33,711 INFO SettingsFactory:170 - Automatic flush during beforeCompletion(): disabled 
16:09:33,714 INFO SettingsFactory:174 - Automatic session close at end of transaction: disabled 16:09:32,814 INFO AnnotationConfiguration:369 - Hibernate Validator not found: ignoring 
16:09:32,892 INFO ConnectionProviderFactory:95 - Initializing connection provider: org.hibernate.connection.C3P0ConnectionProvider 
16:09:32,895 INFO C3P0ConnectionProvider:103 - C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/autolinkcrmcom_data 
16:09:32,898 INFO C3P0ConnectionProvider:104 - Connection properties: {user=root, password=****} 
16:09:32,900 INFO C3P0ConnectionProvider:107 - autocommit mode: false 
16:09:33,694 INFO SettingsFactory:116 - RDBMS: MySQL, version: 5.1.37-1ubuntu5.1 
16:09:33,696 INFO SettingsFactory:117 - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-3.1.10 ($Date: 2005/05/19 15:52:23 $, $Revision: 1.1.2.2 $) 
16:09:33,701 INFO Dialect:175 - Using dialect: org.hibernate.dialect.MySQLDialect 
16:09:33,707 INFO TransactionFactoryFactory:59 - Using default transaction strategy (direct JDBC transactions) 
16:09:33,709 INFO TransactionManagerLookupFactory:80 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 
16:09:33,711 INFO SettingsFactory:170 - Automatic flush during beforeCompletion(): disabled 
16:09:33,714 INFO SettingsFactory:174 - Automatic session close at end of transaction: disabled 
16:09:33,716 INFO SettingsFactory:181 - JDBC batch size: 15 
16:09:33,719 INFO SettingsFactory:184 - JDBC batch updates for versioned data: disabled 
16:09:33,721 INFO SettingsFactory:189 - Scrollable result sets: enabled 
16:09:33,723 DEBUG SettingsFactory:193 - Wrap result sets: disabled 
16:09:33,725 INFO SettingsFactory:197 - JDBC3 getGeneratedKeys(): enabled 
16:09:33,727 INFO SettingsFactory:205 - Connection release mode: auto 
16:09:33,730 INFO SettingsFactory:229 - Maximum outer join fetch depth: 2 
16:09:33,732 INFO SettingsFactory:232 - Default batch fetch size: 1000 
16:09:33,735 INFO SettingsFactory:236 - Generate SQL with comments: disabled 
16:09:33,737 INFO SettingsFactory:240 - Order SQL updates by primary key: disabled 
16:09:33,740 INFO SettingsFactory:244 - Order SQL inserts for batching: disabled 
16:09:33,742 INFO SettingsFactory:420 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 
16:09:33,744 INFO ASTQueryTranslatorFactory:47 - Using ASTQueryTranslatorFactory 
16:09:33,747 INFO SettingsFactory:252 - Query language substitutions: {} 
16:09:33,750 INFO SettingsFactory:257 - JPA-QL strict compliance: disabled 
16:09:33,752 INFO SettingsFactory:262 - Second-level cache: enabled 
16:09:33,754 INFO SettingsFactory:266 - Query cache: disabled 
16:09:33,757 INFO SettingsFactory:405 - Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge 
16:09:33,759 INFO RegionFactoryCacheProviderBridge:61 - Cache provider: net.sf.ehcache.hibernate.EhCacheProvider 
16:09:33,762 INFO SettingsFactory:276 - Optimize cache for minimal puts: disabled 
16:09:33,764 INFO SettingsFactory:285 - Structured second-level cache entries: disabled 
16:09:33,766 INFO SettingsFactory:314 - Statistics: disabled 
16:09:33,769 INFO SettingsFactory:318 - Deleted entity synthetic identifier rollback: disabled 
16:09:33,771 INFO SettingsFactory:333 - Default entity-mode: pojo 
16:09:33,774 INFO SettingsFactory:337 - Named query checking : enabled 
16:09:33,869 INFO Version:20 - Hibernate Search 3.1.0.GA 
16:09:35,134 DEBUG DocumentBuilderIndexedEntity:157 - Field selection in projections is set to false for entity **com.xyz.abc**. 
recognized hibernaterecognized hibernaterecognized hibernaterecognized hibernaterecognized hibernaterecognized hibernaterecognized hibernaterecognized hibernaterecognized hibernaterecognized hibernateDocumentBuilderIndexedEntity 

도노 마지막 줄의 의미 ??? (hibernaterecognized ....) 마지막 줄 이후 아무것도하지 않고 (추적도 없음) 그냥 멈 춥니 다 ...

+0

50 개의 클래스로 시도해 보았습니다. 문제를 일으키는 특정 클래스가 아닌지 확인하기 위해 50 명과 함께 시도해 보셨습니까? –

+0

내 질문을 업데이트했습니다. 최면 로그 추적을 찾으십시오 – KCore

답변

0

자세한 정보를 제공해야합니다. thread dump을 받고 로그의 마지막 몇 줄을 표시 할 수 있습니까?

그것은 가능성이 그 중 하나 - 일부 잠금 또는 파일은 나중에 들어

(어떤 OS 것은 당신이 어떤 한계를 병렬로 열린 파일의 수를 사용하고 있습니까?) 걸려 - 당신의 개체 중 하나가 문제 을 포즈 리눅스 또는 유닉스의 경우, 당신은 또한

ulimit -n <number> 

당신이 수시로 인덱스 최적화 (최대 절전 모드 검색 심판 문서를 확인)을 실행 확인과 재생하려고 할 수 있습니다.

+0

내 질문을 업데이트했습니다. 지루한 로그 추적을 찾으십시오 – KCore

+0

그리고 스레드 덤프? 당신의 VM이 별볼일없는 것처럼 보입니다. –

+0

확실히 hibernaterecognized는 어떤 최대 절전 모드 조각에서도 오는 로그가 아니다. –

0

문제점을 발견했습니다. 나는 수퍼 클래스에 주석을 달지 않았다. 나는 거의 모든 다른 모델 클래스의 기본 클래스 인 하나의 클래스를 가지고있다. 그러나 최대 절전 모드 검색이 오류나 경고를주지 않는 것이 이상합니다. 실제로 매달려있는 곳을 찾기 위해 트릭을 보았습니다. 나는 sessionfactory를 별도의 스레드에 구축하고 스레드의 추적을 매 10 초마다 인쇄했습니다. 놀랍게도 실제로는 멈추지 않았지만 stacktrace가 바뀌고 있었고 항상 annotation reflection 패키지 클래스에있었습니다.

그냥 확인하기 위해 나는

@Emmanuel 버나드 ......이 일을 ...... 짜잔 내 슈퍼 클래스를보고 그것을 주석과 : 당신은 그냥 왜 최대 절전하지 검색 않았다 확인할 수 있습니다 전에 어떤 추적이나 오류를주고 그냥 교수형 ??

관련 문제