spring-data-geode icon indicating copy to clipboard operation
spring-data-geode copied to clipboard

Explore Reactive extensions and support for applicable Apache Geode capabilities. [DATAGEODE-256]

Open spring-projects-issues opened this issue 6 years ago • 1 comments
trafficstars

John Blum opened DATAGEODE-256 and commented

This is a R&D task to explore possible Reactive extensions and support for applicable Apache Geode capabilities.

Initially, this JIRA ticket was opened to explore whether it was possible to...

Implement the Reactive Streams API for Aapche Geode CQ Support.

For example, Pivotal GemFire's [Continuous Query

(CQ)|http://gemfire.docs.pivotal.io/latest/userguide/index.html#developing/continuous_querying/chapter_overview.html] would be a good fit to implement the Reactive Streams API, using Reactor or RxJava backed by CQs, and wrapping a CQ Listener with Reactive types (e.g. Flux).

I also think it makes sense to explore additional Apache Geode features and capabilities that may be possible to wrap with a Reactive API (i.e. Reactive types and Reactive behavior (where possible)), including, but not necessarily limited to:

  1. AEQ (Listener)
  2. CQ
  3. Function Execution (by first adding support for Streaming Results)
  4. From Repositories
  5. Etc.

Function Executions is perhaps less apparent in its path to Reactive, but if there were a fire-and-forget (i.e. async) method to invoke a Function, then it would be possible to execute a Function in a Reactive context. I think wrapping the ResultCollector would give you that async/Reactive-like behavior. Additionally, a StreamResultCollector implementation could be wrapped with a Flux.

Additional thoughts and ideas will be added in comments


Reference URL: https://jira.spring.io/browse/SGF-377

spring-projects-issues avatar Nov 02 '19 01:11 spring-projects-issues

John Blum commented

Also note DATAGEODE-36

spring-projects-issues avatar Nov 02 '19 01:11 spring-projects-issues