我正在使用Hibernate搜索我的应用程序。它配置得很好,并且可以完美地运行,直到突然停止工作。我的原因是我的模型(bean)类的数量。在建立冬眠配置时,我有大约90个类,这些课程添加到配置中。

当我禁用Hibernate搜索(删除搜索注释并使用配置而不是Annotations Configuration)时,我尝试启动应用程序,它可以正常工作。

但是,当我启用搜索时,同一应用程序挂断了。我尝试调试并找到了悬挂的确切位置。

将所有类添加到我的Annotations Configuration对象后,当我说CFG.BuildSessionFactory()时,它永远不会出现。 (我等了几个小时!!!)

同样,当我减少模型类的数量(例如说一半IE 50)时,它来自该语句,并且应用程序正常。

有人可以告诉为什么这会发生吗?我的Hibernate版本是:Hibernate-core-3.3.1.GA.JAR HIBERNATE-ANNOTITATION-3.4.0.GA.JAR HIBERNATE-COMMONS-ANSONTITATION-3.1.0.GA.GA.JAR HIBERNATE-SERACH-3.1.0.GA GA 。罐

另外,如果需要避免使用Annotations Configuration,我读到我需要明确配置搜索事件的听众..有人可以列出所有必要的侦听器及其各自的类吗? (我尝试了冬眠搜索书中给出的标准标准,但它们给了我classNotfound的例外,我在class path中有所有的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

Donno最后一行指示什么??? (Hibernateregenceptized ....)在最后一行之后,它没有做任何事情(也没有痕迹),只是悬挂....

没有正确的解决方案

其他提示

您将需要给我们更多信息。你能接受吗 线程转储 并显示您的日志的最后几行?

可能要么: - 您的一个实体正在提出问题 - 有些锁定或文件正在悬挂(您正在使用哪个操作系统?某些限制并行的文件数量)

对于以后,如果在Linux或Unix上,您可以尝试玩

ulimit -n <number>

另外,请确保您不时运行索引优化器(检查Hibernate搜索REF文档)。

我发现了这个问题。我没有注释我的超级班级。我有一个单个类,这是我几乎所有其他模型类的基类。但是,奇怪的是,冬眠搜索没有给任何错误或警告……我尝试找到一个实际上挂在哪里的技巧。我在单独的线程中构建了SessionFactory,并每10个奇数SEC打印了线程的跟踪。令我惊讶的是,它实际上并没有悬挂,但是StackTrace正在改变,并且总是在Annotaion Reflection套餐课中。

只是为了检查,我看到了我的超级课并注释了它,瞧……它奏效了……

@Emmanuel Bernard:您能否确认为什么Hibernate Search在以前不给任何跟踪或错误,而只是绞死了?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top