Data collection, filtering and processing is a growing concern for all sorts of applications. A variety of different libraries have been created, all looking to solve the same sorts of problems. The OSGi Alliance has defined the PushStream with a simple streaming API, but Reactive Streams and Java 9’s Flow API use a the Observable model. Which is better? Do I have to use OSGi if I choose Push Streams? Do I have to choose one library or can I use both?
This talk will describe the basic design differences between Push Streams and Observable streams, showing side-by-side examples using both APIs. It will also show how one stream type can be converted into the other, and back meaning that you can always choose the appropriate tool for the job.
With Java 9 and OSGi Push Streams available to developers it has never been a better time to start learning what the new frontiers of streaming Java applications look like. Whether you are looking to process data events from IoT devices, collect metrics from cloud services, or simply to interact with messaging systems, reactive models let you build simple, high throughput systems with ease.