Computer >> Máy Tính >  >> Lập trình >> Java

Các quy tắc cho giao diện Người đăng ký trong Java 9 là gì?


Người đăng ký giao diện đăng ký với nhà xuất bản để nhận các mặt hàng thông qua onNext () phương pháp, thông báo lỗi thông qua onError () hoặc một tín hiệu cho thấy không có thêm mục nào được mong đợi thông qua onComplete () phương pháp. Trước khi bất kỳ điều nào trong số đó xảy ra, nhà xuất bản gọi onSubscription () phương pháp.

public interface Subscriber<T> {
   public void onSubscribe(Subscription s);
   public void onNext(T t);
   public void onError(Throwable t);
   public void onComplete();
}

Quy tắc cho giao diện Người đăng ký:

  • Một Người đăng ký phải gọi thông qua Subscription.request (long n) phương thức nhận onNext () tín hiệu.
  • Subscriber.onComplete () Subscriber.onError (Throwable t) các phương thức không được gọi bất kỳ phương thức nào trên Đăng ký hoặc Nhà xuất bản.
  • Subscriber.onComplete () Subscriber.onError (Throwable t) các phương thức phải coi Đăng ký bị hủy sau khi nhận được tín hiệu.
  • Người đăng ký phải gọi Subscription.cancel () trên một Đăng ký nhất định sau onSubscribe () báo hiệu nếu nó đã có một Đăng ký đang hoạt động.
  • Người đăng ký phải gọi Subscription.cancel () nếu Đăng ký không còn cần thiết nữa.
  • Người đăng ký đảm bảo rằng tất cả các cuộc gọi theo yêu cầu và phương thức hủy của Người đăng ký đều được thực hiện tuần tự.
  • Người đăng ký phải nhận được một hoặc nhiều onNext () tín hiệu sau khi gọi Subscription.cancel () nếu vẫn còn các phần tử được yêu cầu đang chờ xử lý. Phương pháp này không đảm bảo thực hiện các hoạt động làm sạch cơ bản ngay lập tức.
  • Người đăng ký phải nhận được onComplete () báo hiệu có hoặc không có Subscription.request (long n) ở trước cuộc gọi.
  • Người đăng ký phải nhận được onError () báo hiệu có hoặc không có Subscription.request (long n) ở trước cuộc gọi.
  • Người đăng ký đảm bảo rằng tất cả các cuộc gọi trên các phương thức tín hiệu của nó đều xảy ra trước khi xử lý các tín hiệu tương ứng. Điều đó có nghĩa là Người đăng ký phải quan tâm đến việc xuất bản đúng cách tín hiệu tới logic xử lý của nó.
  • Subscriber.onSubscribe () phải gọi nhiều nhất một lần cho một Người đăng ký nhất định.
  • Gọi cho onSubscribe () , onNext () , onError () hoặc onComplete () các phương thức phải trả về ngoại trừ khi bất kỳ tham số được cung cấp nào là rỗng, trong trường hợp đó, nó phải ném NullPointerException cho người gọi.