
- RxJava Tutorial
- RxJava - Home
- RxJava - Overview
- RxJava - Environment Setup
- Observables
- RxJava - How Observable works
- RxJava - Creating Observables
- RxJava - Single Observable
- RxJava - MayBe Observable
- RxJava - Completable Observable
- RxJava - Using CompositeDisposable
- Operators
- RxJava - Creating Operators
- RxJava - Transforming Operators
- RxJava - Filtering Operators
- RxJava - Combining Operators
- RxJava - Utility Operators
- RxJava - Conditional Operators
- RxJava - Mathematical Operators
- RxJava - Connectable Operators
- Subjects
- RxJava - Subjects
- RxJava - PublishSubject
- RxJava - BehaviorSubject
- RxJava - ReplaySubject
- RxJava - AsyncSubject
- Schedulers
- RxJava - Schedulers
- RxJava - Trampoline Scheduler
- RxJava - NewThread Scheduler
- RxJava - Computation Scheduler
- RxJava - IO Scheduler
- RxJava - From Scheduler
- Miscellaneous
- RxJava - Buffering
- RxJava - Windowing
- RxJava Useful Resources
- RxJava - Quick Guide
- RxJava - Useful Resources
- RxJava - Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
RxJava - Connectable Operators
Following are the operators which has more precisely control over subscription.
Sr.No. | Operator & Description |
---|---|
1 | Connect Instruct a connectable Observable to emit items to its subscribers. |
2 | Publish Converts an Observable to connectable Observable. |
3 | RefCount Converts a connectable Observable to ordinary Observable. |
4 | Replay Ensure same sequence of emitted items to be seen by each subscriber, even after the Observable has begun emitting items and subscribers subscribe later. |
Connectable Operator Example
Create the following Java program using any editor of your choice in, say, C:\> RxJava.
ObservableTester.java
import io.reactivex.Observable; import io.reactivex.observables.ConnectableObservable; //Using connect operator on a ConnectableObservable public class ObservableTester { public static void main(String[] args) { String[] letters = {"a", "b", "c", "d", "e", "f", "g"}; final StringBuilder result = new StringBuilder(); ConnectableObservable<String> connectable = Observable.fromArray(letters).publish(); connectable.subscribe(letter -> result.append(letter)); System.out.println(result.length()); connectable.connect(); System.out.println(result.length()); System.out.println(result); } }
Verify the Result
Compile the class using javac compiler as follows −
C:\RxJava>javac ObservableTester.java
Now run the ObservableTester as follows −
C:\RxJava>java ObservableTester
It should produce the following output −
0 7 abcdefg
Advertisements