RxJava를보다 전통적인 이벤트 버스를 대체하는 새로운 경향에 대해 궁금해하기 때문에 반응 형 스트림에 대해 배우기 시작했습니다. 이것이 어떻게 수행되는지에 대한 일반적인 설명은 This blog post입니다. 내가 올바르게 이해한다면, RxJava 1.x는 엄격하게 Reactive Streams의 구현이 아니었지만 매우 유사했습니다. 버전 2.0에는 호환되거나 최소한 TCK를 통과하는 일부 클래스가 포함되어 있으므로이 코드의 업데이트 된 버전은 약간 다르게 보일 수 있습니다. 반응성 스트림 용어에서 Reactive Streams Processor를 이벤트 버스로 사용하는 것이 일반적입니까?
public class UserLocationModel {
private PublishSubject<LatLng> subject = PublishSubject.create();
public void setLocation(LatLng latLng) {
subject.onNext(latLng);
}
public Observable<LatLng> getUserLocation() {
return subject;
}
}
, 나는
subject
이 모두
Publisher
과
Subscriber
인
Processor
,라고 생각합니다.
문제는 아무것도에 가입되지 않은 Subscriber
에 onNext
를 호출하면 반응성 스트림 사양, 특히 rule 1.9을 위반하는 것처럼 보인다는 것이다.
이것은 구현의 세부 사항입니까? 일반적으로 호환되는 Reactive Streams 구현과 관련하여이 작업에 의존 할 수 없다는 점을 수정 했습니까?