事务(进程ID54)与另一个进程已完成被死锁在lock资源上,且该事务已被选作死锁牺牲品。请重新运行该事务。

严重: 事务(进程 ID 466)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务 - ITeye问答
16:54:50 org.hibernate.util.JDBCExceptionReporter logExceptions严重: 事务(进程 ID 466)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。 16:54:50 org.hibernate.event.def.AbstractFlushingEventListener performExecutions严重: Could not synchronize database state with sessionorg.hibernate.exception.LockAcquisitionException: could not delete: [.model.Inf_InfoModel#0850090] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:105) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2569) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2725) at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:97) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:172) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365) at org.hibernate.mit(JDBCTransaction.java:137) at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732) at org.springframework.transaction.mit(AbstractPlatformTransactionManager.java:701) at org.springframework.transaction.mitTransactionAfterReturning(TransactionAspectSupport.java:321) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy9.save(Unknown Source) at mon.utils.SystemLogUtils.saveLog(SystemLogUtils.java:27) at .service.impl.Inf_InfoServiceImpl.delInfo(Inf_InfoServiceImpl.java:131) at .action.Inf_InfoAction.del(Inf_InfoAction.java:268) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440) at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
看看这是错在哪里了啊,在本机测试的时候不报这异常的,放到服务器就出这错了 急死人。。。。
问题补充:这是delInfo方法
public String delInfo(String ids) {
if (!StringUtils.hasText(ids)) {
return "null";
boolean flag =
String infoNames = "", fileNames = "";
Long[] fids = NumberUtils.toLongArray(ids.split(","));
for (Long id : fids) {
Inf_InfoModel thisInfo = this.get(Inf_InfoModel.class, id);
if (null == thisInfo) {
throw new AppException("该对象不存在或已被删除,请刷新重试!");
Set&Inf_Reply& commSet = thisInfo.getReplySet();
if (!CollectionUtils.isEmpty(commSet)) {
return "hasComment";
infoNames += thisInfo.getTitle() + "、";
if (StringUtils.hasText(thisInfo.getFilePath())
&& !";".equals(thisInfo.getFilePath())) {
String[] ps = thisInfo.getFilePath().split(";");
for (String p : ps) {
if (StringUtils.hasText(p)) {
File file = new File(SessionUtil
.getRequest().getRealPath("/")
if (file.exists()) {
file.delete();
if (!CollectionUtils
.isEmpty(this.inf_FileDaoImpl
.findByFilePath(p))) {
Inf_FileModel fileModel = this.inf_FileDaoImpl
.findByFilePath(p).get(0);
if (null != fileModel) {
this.remove(fileModel);
fileNames += fileModel
.getName()
this.remove(thisInfo);
if (flag) {
SystemLogUtils.saveLog("删除信息【"
+ StringUtils.getNewStr(infoNames) + "】", "1");
SystemLogUtils.saveLog("删除文件【"
+ StringUtils.getNewStr(fileNames) + "】", "1");
return "suc";
} catch (Exception e) {
throw new AppException(e.getMessage());
问题补充:这是saveLog方法
public static void saveLog( String description,String logType) {
Sys_Log sl = new Sys_Log();
Sys_UserInfo user = (Sys_UserInfo) SessionUtil.getObjectFromSession("sessionUser");
String ipAddress = getRemortIP(SessionUtil.getRequest());
sl.setCreated(DateUtils.getNow());
sl.setDescription("用户【"+user.getTrueName()+"】"+description);
sl.setName(user.getLoginName());
sl.setIpAddress(ipAddress);
sl.setLogType(logType);
getSys_LogService().save(sl);
我曾在一个项目里遇到过这种问题,sqlserver死锁牺牲机制。我当时的问题是多个线程对同一张表频繁的读取和更新,同时由于在读取和更新过程中有些方法事物过长造成对表锁长期持有而其他线程不能对其写入而造成死锁。后来优化了方法事物变短后解决了。希望对你有帮助。
已解决问题
未解决问题扫描二维码
关注7号网公众号
已有7号网账号
还没有7号网账号
当前位置: >>
>> 事务(进程 ID 90)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
事务(进程 ID 90)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
发布时间: 12:32:11 点击:305
更多,,商标交易,等知识产权服务尽在7号网!!!
请登录后再收藏
关注我们的自媒体
获得更多优秀内容
7号网新浪微博账号:前海七号
7号网微信订阅账号:qihaosub
扫描二维码立即关注
服装,婴儿全套衣,体操服...
擦亮用剂,...
传真机,电子公告牌,个人...
计算机软件(已录制),已...
通信/电子/数码
¥30000.00
医疗/保健/美容
通信/电子/数码
通信/电子/数码
¥20000.00
&&|&&&&|&&&&|&&
& 七号网 版权所有 ICP备案:
客服热线:400-889-7080&&&&&&地址:深圳市南山区南山大道3838号深圳设计产业园金栋308-312
关注七号网微信问题: 事务(进程 ID 68)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务,这是什么原因?
现在用的是sql&server&2000解决方案1:
这样看不出问题
解决方案2:
两个进程都独占了不同的资源,然后都想要对方已经占有的资源,发生了死锁。系统解决死锁的办法是按照一定策略选择一个进程干掉他,让它释放已经占有的资源,这样其他的进程可以往下走。但是这个进程你必须重新运行
解决方案3:
你也说的太简单了吧
可能造成这种得原因n多
大家又不是神仙
解决方案4:
可能是数据库死锁了,最好检查一下数据库操作。
以上介绍了“ 事务(进程 ID 68)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务,这是什么原因?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:/itwd/3425260.html
上一篇: 下一篇:事务(进程 ID 131)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务...
我的图书馆
事务(进程 ID 131)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务...
[SqlException (0x): 事务(进程 ID 131)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。] System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1959034 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4876523 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1121 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +192 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +317 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137 CFWztgSql.xb4bdca.x3e9dd21ceac70672(String x6b237db413aed7db, Int64 xcf6c7c9b097ad77b, String xdd88d76c48d773ce, String xfb08e843, Int64 xefa70b, String x8f2143838cab6bd0, String xfeabaee, Int32 x941a0e3f10c95413) +8103 CFWztgSql.x3bc0.xbbf61c(Int32 xb6b8a, Int64 xcf6c7c9b097ad77b, Int64 x5c3d4eea3455c0ad, String x8f2143838cab6bd0, String xbaae, Int64 xab2c8b7) +71488 CFWztgSql.x7a676d.x228d033d90fadb6d(String xc04a11, String xa564daf73c3bd29a) +2478 CFWztgSql.CF.Page_Load(Object sender, EventArgs e) +72 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
TA的最新馆藏
喜欢该文的人也喜欢2011年8月 总版技术专家分月排行榜第三
2012年10月 荣获微软MVP称号2011年10月 荣获微软MVP称号
2014年7月荣获微软MVP称号2013年7月 荣获微软MVP称号2012年7月 荣获微软MVP称号2011年7月 荣获微软MVP称号
2012年2月 总版技术专家分月排行榜第三
2008年 总版技术专家分年内排行榜第二
2010年 总版技术专家分年内排行榜第四2009年 总版技术专家分年内排行榜第五2007年 总版技术专家分年内排行榜第六
2011年 总版技术专家分年内排行榜第四2010年 总版技术专家分年内排行榜第九2009年 总版技术专家分年内排行榜第八
2011年10月 总版技术专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 qq安全防护进程已停止 的文章

 

随机推荐