Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 4.0
-
Fix Version/s: 4.0
-
Component/s: None
-
Labels:None
Description
in WebServiceHandler.java, method invoke contains the following code:
if( serviceInfo == null )
serviceInfo = WebServicesUtils.lookupByPrefix( targetObject, serviceCache );
inside of lookupByPrefix the code iterates over the keys in serviceCache. If another request comes in and serviceCache is updated in a different thread, the first loop will throw and exception. The collection should be synchronized during the iteration.
if( serviceInfo == null )
serviceInfo = WebServicesUtils.lookupByPrefix( targetObject, serviceCache );
inside of lookupByPrefix the code iterates over the keys in serviceCache. If another request comes in and serviceCache is updated in a different thread, the first loop will throw and exception. The collection should be synchronized during the iteration.