[JIRA] Commented: (LBCLASSIC-36) Synchronization of SimpleDateFormat object in DateConverter

[ http://jira.qos.ch/browse/LBCLASSIC-36?page=com.atlassian.jira.plugin.system... ] Ceki Gulcu commented on LBCLASSIC-36: -------------------------------------
1. There is no reason to synchronize in the Joda test. DateTimeFormatter should be declared external to the method and the synchronization should be removed since DateTimeFormatter is thread safe.
I beleive that to be incorrect. While Joda's DateTimeFormatter may be thread safe, assignment to a long is not an atomic operation in Java. The synchronized block exist to protect the "cache" not DateTimeFormatter.
Synchronization of SimpleDateFormat object in DateConverter -----------------------------------------------------------
Key: LBCLASSIC-36 URL: http://jira.qos.ch/browse/LBCLASSIC-36 Project: logback-classic Issue Type: Bug Components: Other Affects Versions: unspecified Environment: Operating System: All Platform: All Reporter: Anders Hammar Assignee: Ceki Gulcu Attachments: DateConverter_patch.java, DateFormatPerfTest.java, dateformattest.zip
According to the API documentation of SimpleDateFormat, date formats are not synchronized and it is recommended to create separate format instances for each thread. However, a possibly simpler (mer efficient) solution would be to synchronize on the SimpleDateFormat object in the convert() method to prevent two threads to access it concurrently.
-- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
participants (1)
-
Ceki Gulcu (JIRA)