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
To nie ma nic wspólnego z maven. Wtyczka maven PMD jest tylko wykonawcą dla PMD, błąd jest w PMD. –
Wielkie wyjaśnienie Sean, tks. –