Added caching of DatatypeFactory instances to ConstructionStrategies … #778
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…(#777)
Issue link
[ISSUE: 777] Performance problem for XMLGregorianCalendar caused by ConstructionStrategies
Purpose
Fix performance issue described in issue #777
Approach
Caching of the DatatypeFactory instance used for creating XMLGregorianCalendar instances is added.
We have a patched version of Dozer 6.2 including this change running for over a year now, processing > a million messages per day.
The caching in a ThreadLocal works for us, although it is probably unnecessary given the implementation we have. For a widely used project it seems appropriate, though. Please advise if we should just drop it and use simpler caching (as already done in
com.github.dozermapper.core.converters.XMLGregorianCalendarConverter
).Open Questions and Pre-Merge TODOs