Description
My company discovered that there was excessive blocking occurring which was tracked down to AbstractJAXBProvider doing synchronizations when checking various collections. Instead, using ConcurrentHashMaps and other techniques, those synchronizations are only necessary when the collection in fact needs modifications, i.e., the first time a specific type is used. After that, synchronizations are no longer required and multiple concurrent calls don't start blocking each other.