Pergunta

Estou usando a pesquisa de hibernato para o meu aplicativo. Está bem configurado e correndo perfeitamente até algum tempo atrás, quando parou de funcionar de repente. O motivo de acordo para mim sendo o número das minhas aulas de modelo (Bean). Tenho cerca de 90 aulas, que adiciono à minha configuração, enquanto construí minha configuração de hibernação.

Quando desabilito a pesquisa de hibernato (remova as anotações de pesquisa e use a configuração em vez da anotações e tento iniciar meu aplicativo, ele funciona bem.

Mas, o mesmo aplicativo quando eu habilito a pesquisa, ele simplesmente desliga. Tentei depurar e encontrei o lugar exato onde ele está pendurado.

Depois de adicionar toda a classe ao meu objeto Anotações Configuração, quando digo cfg.buildSessionFactory (), ele nunca sai dessa declaração. (Eu esperei por horas !!!)

Além disso, quando diminuo o número de minhas aulas de modelo (como digamos, na metade 50), ele sai dessa declaração e o aplicativo funciona bem.

Alguém pode dizer por que isso está acontecendo ?? Minhas versões do hibernato são: hibernate core-3.3.1.ga.jar Hibernate-annotações-3.4.0.ga.Jar Hibernate-commons-annotações-3.1.0.ga.jar hibernate-search-3.1.0.ga .jar

Além disso, se precisar evitar o uso de anotações e li, eu preciso configurar explicitamente os ouvintes do evento de pesquisa. Alguém pode listar todos os ouvintes necessários e suas respectivas classes? (Eu tentei os padrões dados nos livros de pesquisa de hibernados, mas eles me dão exceção de classe e tenho todo o Libs de Classty em Classhat)

Aqui estão as últimas linhas de traço de hibernação que eu consegui puxar:

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 o que a última linha indica ??? (Hibernaterogognizado ....) Após a última linha, ele não faz nada (não há traços também) e apenas pendura ....

Nenhuma solução correta

Outras dicas

Você precisará nos fornecer mais informações. Você pode tomar um despejo de thread e mostrar as últimas linhas de seus logs?

É possível que: - Uma de sua entidade está apresentando problema - algum bloqueio ou arquivo está pendurado (qual sistema operacional você está usando? Alguns limitam o número de arquivos abertos em paralelo)

Para o posterior, se no Linux ou Unix, você pode tentar brincar com

ulimit -n <number>

Também certifique -se de executar o otimizador do índice de tempos em tempos (verifique o documento de pesquisa de pesquisa de hibernato).

eu descobri o problema. Eu não tinha anotado minha super classe. Eu tenho uma única classe que é a classe base para quase todas as minhas outras classes de modelo. Mas é estranho que a pesquisa de hibernato não tenha dado erros nem avisos ... tentei um truque para descobrir onde realmente estava pendurado. Eu construí o Factory Session em um tópico separado e imprimi o traço do thread a cada 10 segundos ímpares. Para minha surpresa, ele realmente não pendurou, mas o Stacktrace estava mudando, e sempre estava nas aulas de pacote de reflexão da Annotaion.

Só para verificar, vi minha super classe e a anotei, e pronto ...... funcionou ......

@Emmanuel Bernard: Você pode apenas confirmar por que a pesquisa de hibernação não deu nenhum rastro ou erro antes e apenas enforcado?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top