2012-03-19 14 views
8

Pytanie:wiadomość PMD „Unikaj używania java.lang.ThreadGroup, nie jest wątku bezpieczne”

Dlaczego PMD plugin Maven daje mi następujące ostrzeżenie dla linii kodu poniżej: Ostrzeżenie:

Unikaj używania java.lang.ThreadGroup; to nie jest wątku bezpieczne

kod (druga linia):

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

Kontekst:

mam ten confit z java.sql.Date konkretyzacji:

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) {} 
    } 
} 

}

Linia zgłoszone przez PMD jest

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

i wiadomość jest:

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

To nie ma nic wspólnego z maven. Wtyczka maven PMD jest tylko wykonawcą dla PMD, błąd jest w PMD. –

+0

Wielkie wyjaśnienie Sean, tks. –

Odpowiedz

4

Istotne błędy z projektem. Zostało to naprawione w 5.X PMD. Jest również w wersji 3.0.1 wtyczki PMD maven.

Widziałem to pytanie zanim znalazłem błędów. Może to pomoże następnemu koderowi.

Powiązane problemy