Сообщение PMD «Избегайте использования java.lang.ThreadGroup; это не потокобезопасно» - PullRequest
8 голосов
/ 19 марта 2012

Вопрос:

Почему плагин maven PMD выдает мне следующее предупреждение для строки кода ниже: Внимание:

Избегайте использования java.lang.ThreadGroup; это не потокобезопасно

Код (вторая строка):

Calendar cal = Calendar.getInstance();
java.sql.Date endDate = new java.sql.Date(cal.getTime().getTime());

Контекст:

У меня есть этот экземпляр java.sql. Дата создания:

public class XYZServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    this.doPost(req, resp);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse resp)
        throws ServletException, IOException {


    Connection conn = null;
    CallableStatement stmt = null;
    try {
        conn = ...
        ...

        Calendar cal = Calendar.getInstance();
        java.sql.Date endDate = new java.sql.Date(cal.getTime().getTime());

        ...
    } catch ...
    }finally {
        try {
            stmt.close();
            conn.close();
        } catch(Exception e) {}
    }
}

} * * тысяча двадцать-один

Линия, сообщаемая PMD, -

java.sql.Date endDate = new java.sql.Date(cal.getTime().getTime());

И сообщение:

Avoid using java.lang.ThreadGroup; it is not thread safe

Ответы [ 2 ]

7 голосов
/ 19 марта 2012

Это похоже на ошибку в PMD 4.2.6.

SourceForge-Link:
http://sourceforge.net/projects/pmd/forums/forum/188192/topic/4781145

4 голосов
/ 29 апреля 2013

Соответствующие ошибки из проекта. Это было исправлено в 5.X PMD. Он также присутствует в версии 3.0.1 плагина PMD maven.

Я видел этот вопрос до того, как нашел ошибки. Может быть, это поможет следующему кодеру.

...