[ https://issues.apache.org/jira/browse/AXIS2-5152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13122685#comment-13122685 ]
Udayanga Wickramasinghe edited comment on AXIS2-5152 at 10/7/11 10:52 AM: -------------------------------------------------------------------------- i am attaching the patch which uses concurrent Hash Map for this issue . please review and commit , the most appropriate solution. i think both soultions are correct , but personally i prefer the patch i submitted earlier since it would be the most simple and consistent solution with the existing implementation :) was (Author: udayan...@wso2.com): i am attaching the patch which uses concurrent Hash Map for this issue . please review and commit , the most appropriate solution. personally i prefer the patch i submitted earlier since it would be the most simple and consistent solution with the existing implementation :) > RepositoryListener ConcurrentModification Exception when accessing > DeploymentEngine deployerMap > ----------------------------------------------------------------------------------------------- > > Key: AXIS2-5152 > URL: https://issues.apache.org/jira/browse/AXIS2-5152 > Project: Axis2 > Issue Type: Bug > Components: kernel > Reporter: Udayanga Wickramasinghe > Attachments: AXIS2-5152.patch, AXIS2-5152_update.patch > > > Axis2 DeploymentEngine deployerMap seems to be not thread safe. Following > exception can be thrown when there is a high concurrent acceess scenario with > multiple deployers in place.. > Exception in thread "Timer-3" java.util.ConcurrentModificationException > at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) > at java.util.HashMap$EntryIterator.next(HashMap.java:834) > at java.util.HashMap$EntryIterator.next(HashMap.java:832) > at > org.apache.axis2.deployment.RepositoryListener.loadOtherDirectories(R > epositoryListener.java:270) > at > org.apache.axis2.deployment.RepositoryListener.checkServices(Reposito > ryListener.java:253) > at > org.apache.axis2.deployment.RepositoryListener.startListener(Reposito > ryListener.java:365) > at > org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(S > chedulerTask.java:73) > at > org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask > .java:94) > at > org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.ru > n(Scheduler.java:93) > at java.util.TimerThread.mainLoop(Timer.java:512) > at java.util.TimerThread.run(Timer.java:462) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org For additional commands, e-mail: java-dev-h...@axis.apache.org