Câu hỏi:PMD thông báo "Tránh sử dụng java.lang.ThreadGroup; nó không phải là thread an toàn"
Tại sao maven PMD plugin được đem lại cho tôi những cảnh báo sau đây cho các dòng mã dưới đây: Cảnh báo:
Tránh sử dụng java.lang.ThreadGroup; nó không phải là chủ đề an toàn
Mã (dòng thứ hai):
Calendar cal = Calendar.getInstance();
java.sql.Date endDate = new java.sql.Date(cal.getTime().getTime());
Bối cảnh:
Tôi có confit này một instantiation java.sql.Date:
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) {}
}
}
}
Điểm mấu báo cáo của PMD là
java.sql.Date endDate = new java.sql.Date(cal.getTime().getTime());
Và thông điệp là:
Avoid using java.lang.ThreadGroup; it is not thread safe
Điều này không liên quan gì đến maven. Plugin PMD maven chỉ là một người thực hiện cho PMD, lỗi nằm trong PMD. –
Làm rõ tuyệt vời Sean, tks. –