Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9의 게시자 인터페이스에 대한 규칙은 무엇입니까?


게시자 구독자로부터 받은 요구에 따라 게시하는 무한한 수의 순차 요소를 제공하는 공급자입니다. 게시자 인터페이스는 T 유형의 요소 게시를 담당합니다. subscribe() 제공 구독자가 연결하는 방법입니다.

public interface Publisher<T> {
   public void subscribe(Subscriber<? super T> s);
}

게시자 인터페이스 규칙:

  • onNext()게시자 가 표시한 방법 구독자 에게 구독자의 구독 에서 요청한 총 요소 수보다 작거나 같아야 합니다. 항상.
  • 게시자 더 적은 onNext() 신호를 보낼 수 있음 요청한 것보다 방법 및 구독 종료 onComplete()를 호출하여 또는 onError() 방법.
  • onSubscribe() , onNext() , onError()onComplete() 구독자 에게 신호를 보내는 방법 직렬로 신호를 보내야 합니다.
  • 게시자가 실패하면 onError() 신호를 보내야 합니다. 방법.
  • 게시자가 성공적으로 종료되면 onComplete() 방법.
  • 게시자가 onError() 신호를 보내는 경우 또는 onComplete() 구독자의 방법 , 구독자의 구독을 취소해야 합니다.
  • 터미널 상태가 신호를 받으면(onError() , onComplete() ), 더 이상 신호가 발생하지 않아야 합니다.
  • 구독이 취소되면 구독자는 신호를 중지해야 합니다.
  • Publisher.subscribe() 메소드는 onSubscribe()를 호출해야 합니다. 구독자 에게 다른 신호를 보내기 전에 제공된 구독자에 대한 방법 제공된 구독자가 null인 경우를 제외하고 정상적으로 반환됩니다. 이 경우 NullPointerException 을 발생시켜야 합니다. 발신자에게.
  • Publisher.subscribe() 메서드는 매번 다른 구독자로 필요한 만큼 여러 번 호출할 수 있습니다.
  • 게시자 여러 구독자를 지원할 수 있으며 각 구독이 유니캐스트 일 수 있는지 여부를 결정합니다. 또는 멀티캐스트 .