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

Functional Java 8 API

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Done
    • Major
    • 8.0.0.CR1, 8.0.0.Final
    • None
    • None
    • None

    Description

      Infinispan 8 is baselining on Java 8 and that enables a more advanced , functional, APIs to be built instead of relying on the traditional Map-like APIs. Such APIs, taking lambda functions, can improve on the current APIs in the following way:

      • Being able to provide a write operation, where the operation is defined as a lambda, better enables conditional (CAS) like operations that are based in functions other than equality, e.g. version equality. If this functions can be executed atomically, they provide a better solution for Hot Rod version-based replace operations that currently can cause some weird behaviour (ISPN-4972)
      • When operations are defined as lambdas, it's easier to move towards a model that tracks/replicates operations leading to state, rather than replicating state itself. This makes it easier to implement more-efficiently replicated alternative data structures, such as counts, lists...etc, and paths the way towards CRDTs, particularly CmRDT (Commutative Replicated Data Types) or operation-based CRDTs.

      Attachments

        Issue Links

          Activity

            People

              rh-ee-galder Galder Zamarreño
              rh-ee-galder Galder Zamarreño
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: