You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2008/08/11 17:19:12 UTC
svn commit: r684775 -
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
Author: nandana
Date: Mon Aug 11 08:19:11 2008
New Revision: 684775
URL: http://svn.apache.org/viewvc?rev=684775&view=rev
Log:
AXIS2-3958 avoiding the ConcurrentModificationException in AxisConfiguration
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?rev=684775&r1=684774&r2=684775&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Mon Aug 11 08:19:11 2008
@@ -87,8 +87,8 @@
private URL axis2Repository = null;
- private HashMap allServices = new HashMap();
- private HashMap allEndpoints = new HashMap();
+ private Map allServices = new Hashtable();
+ private Map allEndpoints = new Hashtable();
/**
* Stores the module specified in the server.xml at the document parsing time.
@@ -411,17 +411,12 @@
}
//removes the endpoints to this service
+ String serviceName = axisService.getName();
String key = null;
- List endPointsForThisService = new ArrayList();
- for (Iterator iter = this.allEndpoints.keySet().iterator(); iter.hasNext();){
- key = (String)iter.next();
- if (key.startsWith(axisService.getName())){
- endPointsForThisService.add(key);
- }
- }
- for (Iterator iter = endPointsForThisService.iterator();iter.hasNext();){
- this.allEndpoints.remove(iter.next());
+ for (Iterator iter = axisService.getEndpoints().keySet().iterator(); iter.hasNext();){
+ key = serviceName + "." + (String)iter.next();
+ this.allEndpoints.remove(key);
}
}
@@ -861,7 +856,13 @@
// To get all the services in the system
public HashMap getServices() {
- return allServices;
+ HashMap hashMap = new HashMap(this.allServices.size());
+ Object key;
+ for (Iterator iter = this.allServices.keySet().iterator(); iter.hasNext();){
+ key = iter.next();
+ hashMap.put(key, this.allServices.get(key));
+ }
+ return hashMap;
}
// The class loader which become the top most parent of all the modules and