[
https://jira.jboss.org/jira/browse/JBAS-6884?page=com.atlassian.jira.plug...
]
Charles Crouch commented on JBAS-6884:
--------------------------------------
From Scott reload() is not threadsafe and so we should note this in
the javadoc, or fix it to be threadsafe if the fix is trivial.
ConcurrentModificationExceptions and inconsistent number of results
from getComponentsByType() occur when reload() is used rather than load()
---------------------------------------------------------------------------------------------------------------------------------------------
Key: JBAS-6884
URL:
https://jira.jboss.org/jira/browse/JBAS-6884
Project: JBoss Application Server
Issue Type: Sub-task
Security Level: Public(Everyone can see)
Components: ProfileService
Affects Versions: JBossAS-5.1.0.CR1
Reporter: Ian Springer
Assignee: Scott M Stark
Fix For: JBossAS-5.2.0.Beta1
When I accidentally switched the as5 plugin code to use reload() rather than load()
whenever it reloaded the management view, I started seeing very messed up behavior when
calling methods on the ManagementView.
1) When iterating Sets of components returned by ManagementView methods, I saw
ConcurrentModificationExceptions.
2) When calling ManagementView.getComponentsByType(someType), I would get 5 results, then
calling it a second later, 0 results, then another second later 3 results.
It seems there are some serious concurrency issues within ManagementView that really come
to light when reload() is called.
On a related note, why do we even need reload()? It seems redundant, since load() does a
reload of the view anyway if the view isn't already up-to-date. Can we deprecate it?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira