import org.infinispan.functional.EntryView.*; import org.infinispan.functional.FunctionalMap.*; WriteOnlyMap writeOnlyMap = ... ReadOnlyMap readOnlyMap = ... CompletableFuture writeFuture = writeOnlyMap.eval("key1", "value1", (v, view) -> view.set(v)); CompletableFuture readFuture = writeFuture.thenCompose(r -> readOnlyMap.eval("key1", ReadEntryView::get)); readFuture.thenAccept(System.out::println);