Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.3.3
-
None
-
None
-
Unknown
Description
WSDLManager.removeDefinition still doesn't work in cxf-core-3.3.3
The problem is in org.apache.cxf.common.util.CacheMap class: "extraKeyMap" sometimes contains multiple entries for the same wsdl.
I tried to understand why 2 maps (mainDataMap and extraKeyMap) are need, but didn't success. If I change these maps to be ConcurrentHashMap so everything works find.
I attached project of Eclipse which reproduces the problem.
Output:
Definition removed for: http://10.110.108.41/services/SMPConfig?wsdl. Number of occurrences: 1. Definition still exist: false
Definition added for: http://10.110.108.41/services/SMPConfig?wsdl
Definition removed for: http://10.110.108.41/services/SMPConfig?wsdl. Number of occurrences: 1. Definition still exist: false
Definition added for: http://10.110.108.41/services/SMPConfig?wsdl
Definition removed for: http://10.110.108.41/services/SMPConfig?wsdl. Number of occurrences: 2. Definition still exist: false
Definition added for: http://10.110.108.41/services/SMPConfig?wsdl
Definition removed for: http://10.110.108.41/services/SMPConfig?wsdl. Number of occurrences: 2. Definition still exist: false
Definition added for: http://10.110.108.41/services/SMPConfig?wsdl
Definition removed for: http://10.110.108.41/services/SMPConfig?wsdl. Number of occurrences: 1. Definition still exist: false
Definition added for: http://10.110.108.41/services/SMPConfig?wsdl
Definition removed for: http://10.110.108.41/services/SMPConfig?wsdl. Number of occurrences: 1. Definition still exist: false