Tôi có một ứng dụng Java EE để tải giá cổ phiếu từ internet cứ 15 phút một lần. Từ góc độ chính xác thời gian là tốt nhất cho ứng dụng để nội bộ hóa hoạt động định kỳ này tức là sử dụng Thread.sleep()
kết hợp với bộ đếm hoặc thiết lập bộ hẹn giờ Hoặc sẽ tốt hơn để hiển thị tác vụ qua URL và có một công việc nền tảng nhấn vào URL định kỳ (theo tần suất yêu cầu của khóa học).Sử dụng Thread.sleep(), Timer hoặc cron job nền tảng cho một hoạt động định kỳ trong ứng dụng Java EE
Ưu và khuyết điểm của cả hai cách tiếp cận là gì?
Tôi đã bị phát hiện bởi lỗi hẹn giờ mà tôi thấy đã báo cáo về việc triển khai OpenJDK. Lỗi nói rằng những thay đổi trong thời gian hệ thống ảnh hưởng đến hoạt động của các hoạt động liên quan đến thời gian và các phương pháp như thời gian ngủ và hẹn giờ.
Bạn nên cân nhắc sử dụng Quartz. – fge
Tại sao mọi người lại thay đổi thời gian của hệ thống? –
Related: http://stackoverflow.com/questions/7499534/applicationscope-bean-that-uses-a-timertask-sheduler-good-or-bad/7499769#7499769 và http://stackoverflow.com/questions/5357033/background-timer-task-in-jsp-servlet-web-application/5357856 # 5357856 – BalusC