异常求助200分,在线等。

blackdreamzg 2006-08-09 10:05:58
javax.servlet.ServletException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
cn.zg.filter.EncodingFilter.doFilter(EncodingFilter.java:35)
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)


root cause

org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:606)
org.springframework.transaction.support.AbstractPlatformTransactionManager.doRollbackOnCommitException(AbstractPlatformTransactionManager.java:633)
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:528)
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:473)
org.springframework.transaction.interceptor.TransactionAspectSupport.doCommitTransactionAfterReturning(TransactionAspectSupport.java:267)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
$Proxy8.login(Unknown Source)
cn.zg.action.ShaolinAdminAction.login(ShaolinAdminAction.java:40)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
cn.zg.filter.EncodingFilter.doFilter(EncodingFilter.java:35)
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

...全文
397 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
yqj2065 2006-08-11
  • 打赏
  • 举报
回复
帮顶
zhmt 2006-08-11
  • 打赏
  • 举报
回复
up!

mark!


aywrenyue 2006-08-10
  • 打赏
  • 举报
回复
学习
quanquan626 2006-08-10
  • 打赏
  • 举报
回复
up
rickhunterchen 2006-08-09
  • 打赏
  • 举报
回复
可能跟服务器有关,因为你本地没事。
blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
up
blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
楼上的能说的再详细一些吗?谢谢。
interpb 2006-08-09
  • 打赏
  • 举报
回复
数据库操作过程中, 建议打印调试信息

blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
linux mysql innodb
rickhunterchen 2006-08-09
  • 打赏
  • 举报
回复
你用的什么数据库,什么服务器?
blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
跟数据库的设置有关希吗?
blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
up
blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:/hibernate.cfg.xml</value>
</property>
</bean>

<!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->
<bean id="myTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="mySessionFactory" />
</property>
</bean>
洪泉 2006-08-09
  • 打赏
  • 举报
回复
cn.zg.action.ShaolinAdminAction.login(ShaolinAdminAction.java:40)
blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
/*
*@作者:赵刚 2006-6-14
*/
package cn.zg.dao.impl;

import java.io.Serializable;
import java.util.List;

import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import cn.zg.dao.BaseDAOI;

public class BaseDAO extends HibernateDaoSupport implements BaseDAOI {
protected int count = 0;

public void setCount(String hql) {
Query query = getHibernateTemplate().getSessionFactory().openSession()
.createQuery(hql);
this.count = Integer.parseInt(query.uniqueResult().toString());
}

public List getObjects(String hql, int start, int range) {
Query query = getHibernateTemplate().getSessionFactory().openSession()
.createQuery(hql);
query.setFirstResult(start);
if (range > 0) {
query.setMaxResults(range);
}
return query.list();
}

public Integer saveObject(Object o) {
Integer i = (Integer) getHibernateTemplate().save(o);
System.out.println(i);
//getSession().beginTransaction().commit();
return i;
}

public void removeObject(Object o) {
getHibernateTemplate().delete(o);
}

public void updateObject(Object o) {
getHibernateTemplate().update(o);
}

public Object getObject(Class clazz, Serializable id) {
return getHibernateTemplate().load(clazz, id, null);
}

public int getCount() {
return this.count;
}

}
treeroot 2006-08-09
  • 打赏
  • 举报
回复
up
blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
贴一个流程登陆的吧
================action======================
public class ShaolinAdminAction extends DispatchAction {

private ShaolinAdminManagerI manager = null;

public void setShaolinAdminManagerI(ShaolinAdminManagerI manager) {
this.manager = manager;
}
public ActionForward login(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ActionMessages errors = new ActionMessages();
DynaValidatorForm df = (DynaValidatorForm) form;
String userName = df.getString("userName");
String password = df.getString("password");
String login = manager.login(userName, password, request
.getRemoteAddr());
if (StringUtils.isNotEmpty(login)) {
request.getSession().setAttribute("ADMIN_NAME", login);
return mapping.findForward(SUCCESS);
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"errors.login"));
saveErrors(request, errors);
return mapping.getInputForward();
}
}
}
====================对应的配置文件====================
<bean name="/login" class="cn.zg.action.ShaolinAdminAction"
singleton="false">
<property name="shaolinAdminManagerI">
<ref bean="shaolinAdminManager" />
</property>
</bean>

======================service===========================
public class ShaolinAdminManager extends BaseManager implements
ShaolinAdminManagerI {

protected ShaolinAdminDAOI dao;

public void setShaolinAdminDAOI(ShaolinAdminDAOI dao) {
this.dao = dao;
}

public String login(String userName, String password, String ip) {
ShaolinAdmin shaolinAdmin = dao.login(userName, password, ip);
if (shaolinAdmin != null) {
dao.updateObject(shaolinAdmin);
return shaolinAdmin.getAdminName();
}
return null;
}
}
===================dao======================
public class ShaolinAdminDAO extends BaseDAO implements ShaolinAdminDAOI {

public ShaolinAdmin login(String userName, String password, String ip) {
String hql = "select obj from ShaolinAdmin obj where obj.adminName='"
+ userName + "' and obj.adminPass='" + password + "'";
List l = getObjects(hql, 0, 1);
if (l != null && l.size() > 0) {
ShaolinAdmin shaolinAdmin = (ShaolinAdmin) l.get(0);
shaolinAdmin.setLastLogin(new Date());
shaolinAdmin.setLastIp(ip);
return shaolinAdmin;
}
return null;
}
}
interpb 2006-08-09
  • 打赏
  • 举报
回复
这个事务所在的代码
blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
贴哪层的代码?
blackdreamzg 2006-08-09
  • 打赏
  • 举报
回复
那行我查了,没有问题,本地运行都没有问题,在服务器上运行一阵子之后会出现这个问题。
感觉与spring的hibernate事务管理有关系。但不知道问题在那里。
加载更多回复(3)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧