2014-06-12 18 views
6

Tôi đang làm theo hướng dẫn Using the Timer Service để xây dựng một thực thi được lập lịch đơn giản. Đang thử phương pháp tự động và sử dụng WildFly 8.1.0 Final cho nó.Hẹn giờ tự động Java EE 7 (Bộ định thời EJB) không hoạt động cho WildFly 8.1.0

Session Bean

@Singleton 
@Startup 
public class HelloJob { 

    private static final Logger logger = Logger.getLogger(HelloJob.class); 

    public HelloJob() { 
     logger.error(">>> Hello Job Created."); 
    } 

    @Schedule(second="*") 
    public void sayHello() { 
     logger.error(">>> Server Hello!"); 
    } 

} 

On triển khai các lớp được đúng instantiated in thông điệp >>> Hello Job Created., nhưng phương pháp sayHello() không bao giờ được gọi.

Theo hướng dẫn, @Schedule(second="*") có nghĩa là nó sẽ thực thi mỗi giây.

Đặt thuộc tính thành ký hiệu dấu hoa thị (*) đại diện cho tất cả giá trị cho phép cho thuộc tính.

Cũng chỉ các phiên phiên trạng thái không được phép cho bộ tính giờ và tôi đang sử dụng một singleton, cũng được sử dụng trong ví dụ.

Các dịch vụ hẹn giờ của container đậu doanh nghiệp cho phép bạn thông báo lịch hẹn giờ cho tất cả các loại enterprise bean trừ cho session bean trạng thái.

Trả lời

10

Sử dụng @Schedule(second="*", minute="*", hour="*").

giá trị mặc định cho giờ và phút là "0" có thể khá khó chịu và buộc bạn phải đặt các giá trị này.

+0

Làm việc như một sự quyến rũ. – BonanzaOne

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