2011-08-18 29 views
5

Chúng tôi có VIP (BIG-IP) thực sự di chuyển các yêu cầu dịch vụ web tới hai nút với mỗi máy chủ GlassFish 3.1 và các dịch vụ của chúng tôi được triển khai. Vì vậy, nó không phải là một cụm thủy tinh thực sự. Vấn đề của tôi là tôi có rất nhiều các dịch vụ Scheduler như một trong những liệt kê dưới đây:Vô hiệu hóa EJB Timer (GlassFish 3.1, Java EE 6)

@Schedule(minute = "55", hour = "23", dayOfWeek = "Wed") 
public void runScheduledMedicaidPaymentProcess() { 

Có cách nào cho tôi để vô hiệu hóa Timer Dịch vụ EJB trên một nút để các phương pháp trên không được chạy trên cả nút khi nó là 11:55 pm vào thứ tư?

Tôi đã thấy việc sử dụng _Default pool cho các cụm được đề cập trong tài liệu máy chủ Glassfish, nhưng như tôi đã giải thích trước khi chúng ta không phải là một cụm thực. Xin vui lòng cho tôi biết nếu có bất kỳ cách nào để ngừng bộ hẹn giờ trên một để nó không được kích hoạt.

Trả lời

2

Nếu bạn không sử dụng cụm sao thì bạn thực sự chỉ có hai trường hợp độc lập. Bạn sẽ phải tạo một số loại semaphore mà mỗi phương thức kiểm tra (một cột db có thể là một giải pháp tốt). Phương thức này sẽ trả về việc có thể chạy bộ hẹn giờ hay không. Mỗi cá thể của bạn sẽ gọi phương thức nhưng chỉ một cá thể sẽ kết thúc chạy bộ hẹn giờ.

Hoặc ...

Thiết lập cụm.

Các vấn đề liên quan