Liferay中数据库异常的解决方法

本文介绍了解决Liferay后台管理时增加应用不稳定的问题。通过分析日志发现数据库连接异常,最终采用c3p0替代原生连接池,确保了应用增加功能的稳定运行。

问题描述:

       Liferay 的后台管理时增加应用不稳定,有时候增加不了。现象是增加应用后一直在转圈,应用无法展现。刷新后 portal 就不能使用了。

       出现这种情况后重新启动服务后又可以增加应用了。但运行一段时间后又会出现上述问题。

       观察日志可发现会抛出异常

03:02:56,625 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception

com.liferay.portal.kernel.dao.orm.ORMException: could not load an entity: [com.liferay.counter.model.Counter#com.liferay.portal.model.Resource]

        at com.liferay.portal.dao.orm.hibernate.ExceptionTranslator.translate(ExceptionTranslator.java:41)

        at com.liferay.portal.dao.orm.hibernate.SessionImpl.get(SessionImpl.java:111)

        at com.liferay.counter.service.persistence.CounterPersistence.createCounterRegister(CounterPersistence.java:275)

        at com.liferay.counter.service.persistence.CounterPersistence.createCounterRegister(CounterPersistence.java:261)

        at com.liferay.counter.service.persistence.CounterPersistence.getCounterRegister(CounterPersistence.java:252)

        at com.liferay.counter.service.persistence.CounterPersistence.increment(CounterPersistence.java:116)

        at com.liferay.counter.service.persistence.CounterPersistence.increment(CounterPersistence.java:106)

        at com.liferay.counter.service.persistence.CounterUtil.increment(CounterUtil.java:46)

        at com.liferay.counter.service.impl.CounterLocalServiceImpl.increment(CounterLocalServiceImpl.java:48)

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

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

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

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

问题原因:

       根据异常信息可发现是连接 portal 数据库出现异常,无法从数据库中装载内容。

       经过分析,可能是数据库连接池的问题。原来使用的是 jboss 自带的数据库连接池有问题,替换为 c3p0 数据库连接池。

解决方法:

       上传 c3p0.jar /server/default/lib 目录下。

       上传 log4j.properties 文件到 /server/default/deploy/ROOT.war/WEB-INF/classes 目录下。

       上传 c3p0-service.xml 文件到 /server/default/deploy 目录下。

       这样的话 liferay 数据库的连接配置将在 c3p0-service.xml 文件中设置,数据库的连接池将使用 c3p0

      

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peterwanghao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值