Domanda

Sto usando Hibernate di ricerca per la mia applicazione. E 'ben configurato e funziona perfettamente fino a qualche tempo fa, quando ha smesso di funzionare improvvisamente. Il motivo secondo me è il numero del mio modello (di semi) classi. Ho circa 90 classi, che aggiungo alla mia configurazione, mentre la costruzione di mia Hibernate configurazione.

Quando ho Disable Search Hibernate (rimuovere le annotazioni di ricerca e l'uso di configurazione, invece di AnnotationsConfiguration), cerco di iniziare la mia domanda, funziona benissimo.

Ma, la stessa applicazione quando abilito di ricerca, appena riaggancia. Ho provato il debug e trovato il luogo esatto in cui si blocca.

Dopo aver aggiunto tutta la classe di mio oggetto AnnotationsConfiguration, quando dico cfg.buildSessionfactory (), Non è mai esce da questa affermazione. (Ho aspettato per ore !!!)

Anche quando ho diminuire il numero delle mie classi del modello (come dire a metà cioè 50) viene fuori di questa dichiarazione e l'applicazione funziona bene ..

Qualcuno può dire perché sta succedendo questo ?? Le mie versioni di Hibernate sono:   hibernate-core-3.3.1.GA.jar   hibernate-annotazioni-3.4.0.GA.jar   hibernate-Commons-annotazioni-3.1.0.GA.jar   hibernate-search-3.1.0.GA.jar

Anche se necessità di evitare l'uso di AnnotationsConfiguration, ho letto che ho bisogno di configurare gli ascoltatori di ricerca di eventi in modo esplicito .. chiunque può elencare tutti gli ascoltatori necessari e le loro rispettive classi? (Ho provato quelli standard indicati nella Hibernate ricerca libri, ma mi danno eccezione ClassNotFound e ho tutte le librerie neccesarty in classpath)

Qui ci sono le ultime righe di traccia Hibernate sono riuscito a tirare:

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 ciò che l'ultima riga indica ??? (Hibernaterecognized ....) Dopo l'ultima riga che pretende molto fare nulla (nessuna traccia troppo) e si blocca solo ....

Nessuna soluzione corretta

Altri suggerimenti

Sarà necessario darci più informazioni. Si può prendere un discarica filo e visualizzare le ultime righe del vostro log ?

E 'possibile che sia:  - uno di vostra entità sta proponendo problema  - un po 'di blocco o il file è appesa (quale sistema operativo stai usando un po' di limitare il numero di file aperti in parallelo?)

Per il seguito, se su Linux o UNIX, è possibile provare a giocare con il

ulimit -n <number>

Inoltre, assicurarsi di eseguire l'ottimizzatore indice di tanto in tanto (controllare la Hibernate Search ref doc).

ho scoperto il problema. Non avevo annotato i miei piano.Vorrei eccellenti hanno una sola classe che è la classe base per quasi tutte le mie altre classi del modello. Ma è strano che la ricerca di ibernazione non ha dato errori né avvisi ... Ho provato un trucco per trovare dove in realtà era appeso. Ho costruito la SessionFactory in un thread separato e stampato traccia del thread ogni 10 secondi dispari. Con mia grande sorpresa che in realtà non appendere, ma lo stacktrace stava cambiando, ed è sempre stato in annotaion classi del pacchetto di riflessione.

Proprio per controllare, ho visto la mia classe super e annotato, e voilà ...... ha funzionato ......

@Emmanuel Bernard: Si può solo confermare il motivo per cui ha ibernazione non di ricerca danno alcuna traccia o errore di prima e subito impiccato ??

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top