惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
T
The Blog of Author Tim Ferriss
C
Check Point Blog
博客园_首页
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
L
LangChain Blog
小众软件
小众软件
Stack Overflow Blog
Stack Overflow Blog
爱范儿
爱范儿
Vercel News
Vercel News
博客园 - Franky
V
V2EX
IT之家
IT之家
U
Unit 42
N
Netflix TechBlog - Medium
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
博客园 - 叶小钗
H
Help Net Security
V
Visual Studio Blog
GbyAI
GbyAI

博客园 - YCOE

MongoDB异常关闭引起的CPU占用 linux php 安装openssl备忘 yum Segmentation fault 错误处理 storytlr -- 安装体验 FullCalendar的二次开发、扩展 记一次笔记本CPU性能骤降 [原创]狂想--QQ构架 [原创]基于jquery.Jcrop的头像编辑器 [原创][C#] 如何将String类型转换成任意基本类型 [原创]Annotation之ElementType.PACKAGE 短信切割算法 Log4net的使用 C# Unrecognized configuration section system.serviceModel 发现Google浏览器(Chrome)的一个JavaScript Bug [原创]DWR+OSGi整合v2.0 [原创]DWR与OSGi的整合 [转载]使用java.text包格式化数字和日期 Hibernate merge方法 MySQL数据库使用Innodb数据库类型(工具生成Hibernate+Spring代码)
DWR死锁问题解决
YCOE · 2008-03-27 · via 博客园 - YCOE

  近期,在一个项目中大量使用DWR,但是,在上线不了多久以后,就频繁出现死机问题。
  经过多番排查(使用YourKit),终于将问题锁定在死锁问题上,并定位在DWR的org.directwebremoting.impl.DefaultScriptSessionManager.invalidate方法上。
  经过Google,找到了官方的Bug跟踪:http://getahead.org/bugs/browse/DWR-60
  根据官方的说法,此Bug将在2.0.rc4 版本里解决
  于是下了一个最近的,2.1版本,但是恶梦继续着...
  死锁问题依然存在,没有一点减缓的意思
  于是尝试采纳Scott Rankin的意见:
修改源码The easist thing I can see to do is to move the for loop at the end of checkTimeouts() inside the synchronized block. That way it'd be guaranteed not to deadlock.

  这一修改,曾经让我安心过三天,但是恶梦,依然继续着...
  问题已经出现近两个月了,一点头绪都没有...
  在即将绝望之际,同事一次乱翻文件夹,突然打开了Tomcat/webapps/.../WEB-INF/lib
  一个dwr.jar包孤零零地呆在那里,顿时,一个感觉从心里飞过。当即把这个dwr.jar删掉

  一周过去了,两周过去了,终于迎来了我期望已久的稳定

  原因:classpath中存在两个dwr.jar包,导致dwr在繁忙的时候会引用另一个,在上下文中存在两个实例对象。
  在DWR中大量使用了同步,死锁就理所当然的啦。