`
燕子~~
  • 浏览: 106787 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Could not instantiate cache implementation异常处理

阅读更多

今天遇到了一个很奇怪的问题  我照例增加了一套新功能,但一切就绪调试的时候,报了这个错

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/application-dao.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Could not instantiate cache implementation
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1260)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
 ... 40 more
Caused by: org.hibernate.HibernateException: Could not instantiate cache implementation
 at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:64)
 at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:214)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:799)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:733)
 at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
 ... 49 more
Caused by: org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache]
 at org.hibernate.cache.NoCacheProvider.buildCache(NoCacheProvider.java:21)
 at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:61)
 ... 56 more

 

 

 

解决办法:

我们这个工程并没有写hibernate.hbm.xml文件,直接在spring配置文件里写的。无奈我又新建了这个文件。以下是内容:

<!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
 <session-factory>
  <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
        <property name="hibernate.cache.use_second_level_cache">false</property>
        <property name="hibernate.cache.use_query_cache">false</property>
 </session-factory>
</hibernate-configuration>

 

 

在spring配置文件中加入了下面的属性:

<property name="configLocation">
   <value>classpath:hibernate.cfg.xml</value>
  </property>

 

重启Tomcat后,ok了。

分享到:
评论
2 楼 zhangna307 2011-09-23  
如果已经有对应的hibernte-cfg.xml文件,还是报这个错怎么办
1 楼 zzw118 2011-09-20  
不错,解决了我的问题!

相关推荐

Global site tag (gtag.js) - Google Analytics