Tôi đang tìm cách tự động phát hiện vi phạm chính sách luồng đơn của Swing trong mã của tôi. Tôi đang tìm một cái gì đó dọc theo dòng của một số mã AOP bạn thả vào máy ảo trong khi các ứng dụng swing đang chạy và có nó đăng nhập bất kỳ nơi mà một thành phần swing được sửa đổi bên ngoài của EDT.Cách phát hiện vi phạm chính sách của chủ đề Swing
Tôi không phải là một anh chàng AOP nhưng tôi sẽ tưởng tượng tạo ra một proxy AOP xung quanh mỗi java.swing. * Lớp trông giống như
AOP_before(Method m, Object args[]) {
if (!isEventDispatchThread(Thread.currentThread()) {
logStack(new RuntimeException("violation!"));
}
invoke(m, args);
}
Bất cứ ai cũng biết của một dự án hoặc tiện ích mà thực hiện điều này?
Tôi đã trả lời câu hỏi như thế này trước đây và cung cấp mã AOP. Bất kỳ lời khuyên cho cách tôi đi về việc tìm kiếm nó? Tôi đã thử tìm kiếm rõ ràng, Google và SO. – mdma
Tôi đề nghị chỉ cần giữ một sự tách biệt giữa mã mà nên chạy trên EDT và rằng không nên. Cố gắng tránh có các lớp kết hợp mã nên chạy trên EDT và mã nên không, ngay cả khi nó trông giống như một phím tắt. –
@mdma, chỉ cần nhấp vào tên của bạn và bạn có thể thấy danh sách các câu hỏi bạn đã trả lời. –