Description
- StutsUrlDecoder has performance problems when run from multiple threads, because Charset#availavleCharts(...) called StrutsUrlDecoder#getCharset(...) is synchronized blocked.
- Root causes is synchronized blocked at AbstractCharsetProvider#charsets() .
- StutsUrlDecoder is used to evaluate custom tag <s:url>, it will have performance problems if it receives too many requests.
- Therefore, Charset#availavleCharts(...) to be executed only once during the StrutsUrlDecoder initialization.
Attachments
Issue Links
- links to