Pregunta

Estoy usando Hibernate Search para mi aplicación. Está bien configurado y funcionando perfectamente hasta hace algún tiempo, cuando dejó de funcionar de repente. La razón según yo es el número de mis clases de modelo (Bean). Tengo unas 90 clases, que agrego a mi configuración, mientras construyo mi configuración de hibernación.

Cuando deshabilo la búsqueda de hibernación (elimine las anotaciones de búsqueda y uso la configuración en lugar de la configuración de anotaciones), intento iniciar mi aplicación, funciona bien.

Pero, la misma aplicación cuando habilito la búsqueda, simplemente cuelga. Intenté depurar y encontré el lugar exacto donde cuelga.

Después de agregar toda la clase a mi objeto de Configuración de anotaciones, cuando digo CFG.BuildSessionFactory (), nunca sale de esa declaración. (¡He esperado durante horas!)

Además, cuando disminuyo el número de mis clases de modelos (como decir a la mitad de IE 50) sale de esa declaración y la aplicación funciona bien.

¿Alguien puede decir por qué está sucediendo esto? Mis versiones de Hibernate son: Hibernate-Core-3.3.1.ga.jar Hibernate-Annotations-3.4.0.ga.jar Hibernate-Commons-Annotations-3.1.0.ga.jar Hibernate-Search-3.1.0.Ga .frasco

Además, si necesito evitar el uso de AnnotationsConfiguration, leí que necesito configurar los oyentes de eventos de búsqueda explícitamente. ¿Alguien puede enumerar a todos los oyentes necesarios y sus respectivas clases? (Probé los estándares que se dan en los libros de búsqueda de hibernación, pero me dan una excepción de clase y tengo todas las librías de Neccesarty en classpath)

Aquí están las últimas líneas de hibernación Trace que logré tirar:

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

Donno ¿Qué indica la última línea? (HibernaterCogned ...) Después de la última línea no hace nada (sin rastro también) y solo cuelga ...

No hay solución correcta

Otros consejos

Tendrá que darnos más información. ¿Puedes tomar un volcado ¿Y mostrar las últimas líneas de sus registros?

Es posible que: - una de sus entidades esté planteando un problema, se cuelga algún bloqueo o archivo (¿qué sistema operativo está usando? Algunos limitan el número de archivos abiertos en paralelo)

Para el posterior, si está en Linux o Unix, puede intentar jugar con

ulimit -n <number>

También asegúrese de ejecutar el optimizador de índice de vez en cuando (verifique el documento de reflexión de búsqueda Hibernate).

Descubrí el problema. No había anotado mi súper clase. Tengo una sola clase, que es la clase base para casi todas mis otras clases de modelos. Pero es extraño que la búsqueda hibernada no haya dado ningún error ni advertencias ... Intenté un truco para encontrar dónde estaba colgando. Construí el SessionFactory en un hilo separado e imprimí el rastro del hilo cada 10 segundos extraños. Para mi sorpresa, en realidad no colgaba, pero el Stacktrace estaba cambiando, y siempre estaba en clases de paquetes de reflexión de Annotaion.

Solo para comprobar, vi mi súper clase y la anoté, y listo ...... funcionó ......

@Emmanuel Bernard: ¿Puedes confirmar por qué Hibbernate Search no dio ningún rastro o error antes y simplemente colgado?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top