

- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to implement Flow.Publisher interface in Java 9?
A Publisher interface is a provider of an unbounded number of sequenced elements, publishing them according to the demand received from its Subscriber(s). In response to call Publisher.subscribe(Subscriber), the possible invocation sequences for methods on the Subscriber. It means that the onSubscribe() method, followed by the unbounded number of onNext() methods (as requested by Subscriber) followed by an onError() method, if there is a failure or an onComplete() method when no more elements available as long as Subscription is not canceled.
Syntax
public interface Publisher<T> { public void subscribe(Subscriber<? super T> s); }
Example
import java.util.concurrent.*; import java.util.*; import java.util.stream.*; class SimplePublisher implements Flow.Publisher<Integer> { private final Iterator<Integer> iterator; SimplePublisher(int count) { this.iterator = IntStream.rangeClosed(1, count).iterator(); } @Override public void subscribe(Flow.Subscriber<? super Integer> subscriber) { iterator.forEachRemaining(subscriber::onNext); subscriber.onComplete(); } } public class SimplePublisherImplTest { public static void main(String args[]) { new SimplePublisher(10).subscribe(new Flow.Subscriber<>() { @Override public void onSubscribe(Flow.Subscription subscription) { } @Override public void onNext(Integer item) { System.out.println("item = [" + item + "]"); } @Override public void onError(Throwable throwable) { } @Override public void onComplete() { System.out.println("complete"); } }); } }
Output
item = [1] item = [2] item = [3] item = [4] item = [5] item = [6] item = [7] item = [8] item = [9] item = [10] complete
- Related Questions & Answers
- How can we implement Flow API using Publisher-Subscriber in Java 9?
- What are the rules for the Publisher interface in Java 9?
- How to implement reactive streams using Flow API in Java 9?
- How to implement a Set interface in JShell in Java 9?
- How can we implement the Subscriber interface in Java 9?
- How to define control flow statements in JShell in Java 9?
- How to implement java.time.LocalDate using JShell in Java 9?
- How to implement JShell using JavaFX in Java 9?
- Why an interface cannot implement another interface in Java?
- How to implement a String in JShell in Java 9?
- How to implement an ArrayList using JShell in Java 9?
- What are the steps to execute Flow API in Java 9?
- How to implement the encapsulation concept in JShell in Java 9?
- How to implement a lambda expression in JShell in Java 9?
- How to implement the Fibonacci series in JShell in Java 9?
Advertisements