Да, это безопасно и рекомендуется.
Единственное предостережение на странице, на которую вы ссылались, это то, что вы не можете изменять конфигурацию маппера, как только он будет опубликован; но вы не меняете конфигурацию, так что все в порядке. Если вам нужно изменить конфигурацию, вы сделаете это из статического блока, и это будет хорошо.
РЕДАКТИРОВАТЬ : (2013/10)
С 2.0 и выше, выше можно дополнить, отметив, что есть еще лучший способ: использовать ObjectWriter
и ObjectReader
объекты, которые могут быть сконструированы ObjectMapper
. Они являются полностью неизменяемыми, поточно-ориентированными, что означает, что теоретически невозможно вызвать проблемы с безопасностью потоков (которые могут возникнуть, ObjectMapper
если код попытается перенастроить экземпляр).
ObjectMapper
после вызова вызывается потокобезопасностьObjectMapper#setDateFormat()
. Известно, чтоSimpleDateFormat
не является потокобезопасным , поэтомуObjectMapper
не будет, если не будет клонироваться, например,SerializationConfig
перед каждымwriteValue()
(я сомневаюсь). Не могли бы вы развенчать мой страх?