Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java,v diff -u -r1.99.4.3.2.1 -r1.99.4.3.2.2 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java 25 May 2009 18:16:30 -0000 1.99.4.3.2.1 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java 10 Jun 2009 05:28:30 -0000 1.99.4.3.2.2 @@ -305,7 +305,8 @@ forumDao.deleteCondition(condition); } - public Message replyTopic(Long parentId, Long sessionId, Message replyMessage) throws PersistenceException { + public synchronized Message replyTopic(Long parentId, Long sessionId, Message replyMessage) + throws PersistenceException { // set parent Message parent = this.getMessage(parentId); replyMessage.setParent(parent); Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java,v diff -u -r1.65.6.1 -r1.65.6.2 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 25 May 2009 18:16:29 -0000 1.65.6.1 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 10 Jun 2009 05:28:30 -0000 1.65.6.2 @@ -663,10 +663,7 @@ // save message into database forumService = getForumManager(); - // synchronized because of deadlock exceptions - synchronized (parentId) { - forumService.replyTopic(parentId, sessionId, message); - } + forumService.replyTopic(parentId, sessionId, message); // echo back this topic thread into page Long rootTopicId = forumService.getRootTopicId(parentId);