coherence-community / oracle-bedrock

Oracle Bedrock
Other
55 stars 31 forks source link

Introduce CoherenceClusterResource (replaces CoherenceClusterOrchestrator) #394

Closed brianoliver closed 7 years ago

brianoliver commented 7 years ago

While the CoherenceClusterOrchestrator works well for simple local-platform-based integration tests, it fails to provide the ability to create complex heterogeneous clusters, forcing application developers to adopt, use and manage CoherenceClusterBuilders when writing large scale tests.

Although desirable to improve the CoherenceClusterOrchestrator, it can't be achieve easily without creating a conflicting and/or confusing programming model. Hence it's better to introduce a new CoherenceClusterResource to suit the expanded purposes, leaving the existing CoherenceClusterOrchestrator unchanged and in place (but deprecating it).

As a minimum, the CoherenceClusterResource should:

  1. Support construction of Coherence Clusters (launching Cluster Members) across multiple platforms (using either multiple Platforms or Infrastructure concepts)

  2. Support specifying common options for all Cluster Members that are launched.

  3. Support launching specific types of Cluster Members (not just storage enabled or proxy members)

  4. Support acquiring "sessions" (ConfigurableCacheFactories) for launched Coherence Clusters.