Я использую поиск в спящем режиме для своего приложения. Он хорошо настроен и отлично работает до некоторого времени назад, когда внезапно перестал работать.
Причиной, по мне, является количество классов моей модели (бобов).
У меня есть около 90 классов, которые я добавляю в свою конфигурацию при сборке конфигурации Hibernate.
Когда я отключаю поиск в спящем режиме (удаляю аннотации поиска и использую конфигурацию вместо AnnotationsConfiguration), я пытаюсь запустить приложение, оно работает нормально.
Но, то же самое приложение, когда я включаю поиск, просто зависает.
Я попытался отладить и нашел точное место, где он висит.
После добавления всего класса в мой объект AnnotationsConfiguration, когда я говорю cfg.buildSessionfactory (),
Это никогда не выходит из этого заявления. (Я ждал часами !!!)
Кроме того, когда я уменьшаю количество своих классов моделей (например, наполовину, т.е. 50), это получается из этого утверждения, и приложение работает нормально ..
Может кто-нибудь сказать, почему это происходит ??
Мои версии Hibernate:
Зимуют-ядро-3.3.1.GA.jar
Hibernate, для аннотаций-3.4.0.GA.jar
спящая-Викисклад аннотации-3.1.0.GA.jar
Зимуют-поиск-3.1.0.GA.jar
Также, если необходимо избежать использования AnnotationsConfiguration, я прочитал, что мне нужно явно настроить прослушиватели событий поиска. Может ли кто-нибудь перечислить всех необходимых прослушивателей и их соответствующие классы? (Я попробовал стандартные, приведенные в книгах Hibernate Search, но они дают мне исключение ClassNotFound, и у меня есть все необходимые библиотеки в classpath)
Вот несколько последних строк трассировки гибернации, которые мне удалось вытащить:
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 ....)
После последней строки он ничего не делает (тоже не отслеживает) и просто зависает ....