2017-06-09 15 views
5

Tôi đang sử dụng một bộ đếm thời ejb trong mã của tôi như sau:Schedule Customize EJB hẹn giờ mà không cần Xây dựng lại chiến

import org.apache.logging.log4j.Logger; 
import javax.annotation.Resource; 
import javax.ejb.Schedule; 
import javax.ejb.Singleton; 
import javax.ejb.Startup; 
import javax.inject.Inject; 

@Singleton 
@Startup 
public class Notifier { 

    @Inject 
    Logger LOG; 

    @Resource(mappedName="java:jboss/mail/Default") 
    private Session mailSession; 

    @Schedule(minute = "0", hour = "*", persistent = false) 
    public void notify() { 

    } 
} 

Tôi muốn để có thể cấu hình lại lịch trình mà không cần phải xây dựng lại và tải lên các cuộc chiến kết quả vào máy chủ mỗi khi tôi quyết định rằng tôi cần phải tinh chỉnh lịch trình.

Làm cách nào để thực hiện việc này?

Trả lời

2

Bạn có thể sử dụng thuộc tính hệ thống và ScheduleExpression. Hoặc bạn có thể sử dụng programmatic EJB Timer.

Một tùy chọn khác là sử dụng ManagedScheduledExecutorService và sử dụng Trigger để kiểm soát thời gian chạy tiếp theo. Một lần nữa, bạn có thể sử dụng thuộc tính hệ thống hoặc chỉ một tệp cấu hình nằm bên ngoài ứng dụng.

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