Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-5012

ClusterRegistry as a service cache provider


    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • None
    • Core
    • None

      The ClusterRegistry is currently a volatile, replicated cache with a composite key and it does not serve the original purpose for which it was built. It should be refactored to be a service cache factory with a builder API based on desired features and a NamingStrategy so that we can have "well-known" caches as well as temporary caches. It should also be possible to use the cache dependency mechanism to "chain" service cache lifecycles to other caches.

      Here's an example API (not a real example):

      RegistryBuilder builder = registry.getBuilder();
      builder.persistent().clustered().dependsOn(Cache<?,?> cache).namingStrategy(new StaticCacheNamingStrategy("___protobuf_metadata"))

      This registry would be able to provide caches to the following use cases:

      • protobuf schemas
      • hotrod topology
      • security acl
      • map/reduce work caches
      • index caches
      • etc.

            ttarrant@redhat.com Tristan Tarrant
            ttarrant@redhat.com Tristan Tarrant
            0 Vote for this issue
            2 Start watching this issue