Java实现二级缓存,java – 为什么我的二级缓存实现会出错?

我试图在我的应用程序上实现二级缓存,但它返回以下错误.我对setCacheMode很怀疑.

的hibernate.cfg.xml

...

org.hibernate.cache.EhCacheProvider

true

...

Product.Java

public class Product implements Serializable {

...

@Id

@GeneratedValue

@Column(name = "id")

@Cache(usage= CacheConcurrencyStrategy.READ_ONLY)

public long getID() {

return ID;

}

...

}

Model.Java

....

final Session session = HibernateUtil.getSession();

try {

final Transaction tx = session.beginTransaction();

try {

Product product = (Product) session.get(Product.class, id);

session.setCacheMode(CacheMode.NORMAL);

tx.commit();

return product;

} catch (Exception e) {

tx.rollback();

e.printStackTrace();

}

} finally {

HibernateUtil.closeSession();

}

.....

错误

INFO: ** Exception in SessionFactory **

SEVERE: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor]

at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:186)

at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150)

at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)

at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:264)

at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1760)

at com.my.util.HibernateUtil.configureSessionFactory(HibernateUtil.java:26)

at com.my.util.HibernateUtil.(HibernateUtil.java:43)

at com.my.controller.Default.execute(Default.java:29)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:446)

at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:285)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)

at

.....

UTIL

private static SessionFactory configureSessionFactory() {

try {

Configuration configuration = new Configuration();

configuration.configure();

serviceRegistry = new

ServiceRegistryBuilder()

.applySettings(configuration.getProperties())

.buildServiceRegistry();

sessionFactory = configuration.buildSessionFactory(serviceRegistry);

return sessionFactory;

} catch (HibernateException e) {

System.out.append("** Exception in SessionFactory **");

e.printStackTrace();

}

return sessionFactory;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值