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

Các quy tắc cho giao diện Đăng ký trong Java 9 là gì?


A Đăng ký có thể được chia sẻ bởi chính xác một Nhà xuất bản và một Người đăng ký nhằm mục đích dàn xếp dữ liệu trao đổi . Đó là lý do subscribe () phương thức không trả về Đăng ký đã tạo, thay vào đó trả về void . Đăng ký chỉ được chuyển cho Người đăng ký thông qua onSubscribe () phương thức gọi lại. Giao diện Đăng ký có hai phương thức: request () hủy () .

Cú pháp

public interface Subscription {
   public void request(long n);
   public void cancel();
}

Quy tắc cho giao diện Đăng ký:

  • Subscription.request () Subscription.cancel () chỉ được gọi các phương thức bên trong ngữ cảnh Người đăng ký của nó.
  • Đăng ký phải cho phép Người đăng ký gọi Subscription.request () phương thức đồng bộ từ bên trong onNext () hoặc onSubscribe () phương pháp.
  • Subscription.request () phương thức phải đặt giới hạn trên đối với đệ quy đồng bộ có thể có giữa Publisher Người đăng ký .
  • Subscription.request () phương thức phải tôn trọng khả năng phản hồi của người gọi bằng cách quay lại kịp thời.
  • Subscription.cancel () phương thức phải tôn trọng tính phản hồi của người gọi bằng cách trả lại kịp thời và phải an toàn theo chuỗi .
  • Trong khi Đăng ký không bị hủy, Subscription.request (dài n) phương thức phải đăng ký một số phần tử bổ sung nhất định sẽ được tạo cho một người đăng ký tương ứng.
  • Trong khi Đăng ký không bị hủy, Subscription.request (dài n) phương thức phải gọi onError () với IllegalArgumentException nếu đối số là <=0.
  • Trong khi Đăng ký không bị hủy, Subscription.request (dài n) phương thức có thể gọi đồng bộ onNext () trên người đăng ký này hoặc người đăng ký khác.
  • Trong khi Đăng ký không bị hủy, Subscription.request (dài n) phương thức có thể gọi đồng bộ onComplete () hoặc onError () trên người đăng ký này hoặc người đăng ký khác.
  • Trong khi Đăng ký không bị hủy, Subscription.cancel () phương thức phải yêu cầu Nhà xuất bản ngừng báo hiệu Người đăng ký của mình. Không thể yêu cầu thao tác này để ảnh hưởng đến Đăng ký ngay lập tức.
  • Trong khi Đăng ký không bị hủy, Subscription.cancel () phương thức phải yêu cầu Nhà xuất bản loại bỏ mọi tham chiếu đến người đăng ký tương ứng.
  • Gọi Đăng ký.cancel () Subscription.request () các phương thức phải trả về bình thường.
  • Đăng ký phải hỗ trợ số lượng cuộc gọi không giới hạn để yêu cầu và hỗ trợ yêu cầu lên đến 2 ^ 63-1 . Nếu nhu cầu bằng hoặc lớn hơn 2 ^ 63-1 có thể được Nhà xuất bản coi là hiệu quả không bị ràng buộc .