2012-01-17 3 views
2

Недавно я столкнулся с множеством ошибок из-за SimpleDateFormat, не является потокобезопасным.Правило Checkstyle/PMD для SimpleDateFormat небезопасное предупреждение о потоке

Причина, по которой я выяснил, что она не была синхронизирована должным образом или новые экземпляры не были созданы для отдельных потоков.

Итак, я подумал, давайте создадим PMD/Checkstyle, чтобы в будущем, если кто-либо использует SimpleDateFormat, он получит предупреждение о том, что он не является потокобезопасным.

Я новичок в Checkstyle, может ли кто-нибудь описать меня, как я могу это достичь?

+0

Checkstyle! = PMD. Это разные проекты. – palacsint

ответ

3

FindBugs может выводить предупреждения, когда DateFormat определяется как статическое поле. Но обнаружение безпоточного использования DateFormat очень сложно, потому что ему нужно будет понять, как используется объект. Я не думаю, что писать правило CheckStyle для этого возможно. По крайней мере, не обнаружив много ложных срабатываний.

Возможно, вы должны просто запретить прямое использование DateFormat и перенести его в пользовательский класс или указать использование Apache commons FastDateFormat, которое является потокобезопасным.