[ https://issues.apache.org/jira/browse/VELTOOLS-198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17630583#comment-17630583 ]
Michael Osipov commented on VELTOOLS-198: ----------------------------------------- So basically we are talking about {{org.apache.velocity.tools.generic.NumberTool.getNumberFormat(String, Locale)]] and {{org.apache.velocity.tools.generic.NumberTool.format()}}? I agree that the NFs require external synchronization. > org.apache.velocity.tools.ConversionUtils#getNumberFormat(java.lang.String, > java.util.Locale) is not thread safe for custom formats > ----------------------------------------------------------------------------------------------------------------------------------- > > Key: VELTOOLS-198 > URL: https://issues.apache.org/jira/browse/VELTOOLS-198 > Project: Velocity Tools > Issue Type: Bug > Components: GenericTools > Affects Versions: 3.1 > Reporter: Oscar Doral > Priority: Major > Labels: pull-request-available > > org.apache.velocity.tools.ConversionUtils holds a cache for custom formats so > it can reuse formatters across different requests: > {code:java} > private static ConcurrentMap<String,NumberFormat> customFormatsCache = new > ConcurrentHashMap<String,NumberFormat>(); {code} > Problem is formatters don't use to be thread safe so if same formatter is > used at the same time by two different threads we can get errors depending on > race conditions. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org For additional commands, e-mail: dev-h...@velocity.apache.org