2011-02-01 266 views
0

我想配置我的应用程序使用ehCache。我正在使用Spring 2.5.6,Jboss 5.1.0 GA及其嵌入式版本的Hibernate以及ehCache-core V2.3.1。春季jboss ehcache

我也做了以下配置:

<property name="hibernateProperties"> 
    <props> 
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
    <prop key="hibernate.hbm2ddl.auto">update</prop> 
    <prop key="hibernate.show_sql">true</prop> 
    <prop key="hibernate.jdbc.batch_size">20</prop> 
    <prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</prop> 
    <prop key="net.sf.ehcache.configurationResourceName">ehcache.xml</prop> 
    <prop key="hibernate.cache.use_second_level_cache">true</prop> 
    <prop key="hibernate.cache.use_structured_entries">true</prop> 
    <prop key="hibernate.cache.use_query_cache">true</prop> 
    <prop key="hibernate.generate_statistics">true</prop> 
    <!-- prop key="hibernate.cache.use_second_level_cache">true</prop> 
    <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop> 
    <prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</prop> 
    <prop key="hibernate.cache.use_second_level_cache">true</prop> 
    <prop key="hibernate.cache.use_query_cache">true</prop--> 
    </props> 
</property> 

这是我ehcache.xml中

<defaultCache eternal="false" 
     overflowToDisk="false" 
     maxElementsInMemory="50000" 
     timeToIdleSeconds="30" 
     timeToLiveSeconds="6000" 
     memoryStoreEvictionPolicy="LRU" 
/> 
<cache name="com.model.SystemProperty" 
     maxElementsInMemory="5000" 
     eternal="true" 
     overflowToDisk="false" 
     memoryStoreEvictionPolicy="LFU" 
/>    

该文件位于类路径中。

我加入以下到我的域对象:

@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region="vsg.ecotrak.admin.store.domain.Store", include="non-lazy") 

当我启动服务器,它卡住。这里是输出:

13:17:09,000 INFO [SettingsFactory] Second-level cache: enabled 
13:17:09,000 INFO [SettingsFactory] Query cache: enabled 
13:17:09,016 INFO [SettingsFactory] Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge 
13:17:09,017 INFO [RegionFactoryCacheProviderBridge] Cache provider: net.sf.ehcache.hibernate.SingletonEhCacheProvider 

任何理想,为什么发生这种情况?

我在Windows 7 64位上运行,如果重要的话。


我将ehcache jar降级到V 1.2.3,现在服务器启动。

+0

将JBoss的日志记录提升为DEBUG(使用`conf/jboss-log4j.xml`),然后查看它的内容。 – skaffman 2011-02-01 19:25:26

回答

0

是否将hibernate.cache.region.factory_class用于net.sf.ehcache.hibernate.EhCacheRegionFactory而不是Cache Provider(已弃用)方法使其更好?

也可以做一个线程转储时挂起?