Package io.micronaut.cache.hazelcast
Class HazelcastAsyncCache
java.lang.Object
io.micronaut.cache.hazelcast.HazelcastAsyncCache
- All Implemented Interfaces:
AsyncCache<com.hazelcast.map.IMap<Object,,Object>> Cache<com.hazelcast.map.IMap<Object,Object>>
public class HazelcastAsyncCache
extends Object
implements AsyncCache<com.hazelcast.map.IMap<Object,Object>>
A
AsyncCache implementation based on Hazelcast.- Since:
- 1.0.0
- Author:
- Nirav Assar
-
Constructor Summary
ConstructorsConstructorDescriptionHazelcastAsyncCache(io.micronaut.core.convert.ConversionService conversionService, com.hazelcast.map.IMap<Object, Object> nativeCache, ExecutorService executorService) -
Method Summary
Modifier and TypeMethodDescription<T> @NonNull CompletableFuture<Optional<T>>Resolve the given value for the given key.<T> CompletableFuture<T>get(@NonNull Object key, @NonNull io.micronaut.core.type.Argument<T> requiredType, @NonNull Supplier<T> supplier) Resolve the given value for the given key.getName()com.hazelcast.map.IMapinvalidate(@NonNull Object key) Invalidate the value for the given key.Invalidate all cached values within this cache.Cache the specified value using the specified key.<T> @NonNull CompletableFuture<Optional<T>>putIfAbsent(@NonNull Object key, T value) Cache the specified value using the specified key if it is not already present.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.cache.AsyncCache
get, getMethods inherited from interface io.micronaut.cache.Cache
getCacheInfo
-
Constructor Details
-
HazelcastAsyncCache
public HazelcastAsyncCache(io.micronaut.core.convert.ConversionService conversionService, com.hazelcast.map.IMap<Object, Object> nativeCache, ExecutorService executorService) - Parameters:
conversionService- the conversion servicenativeCache- the native cacheexecutorService- managers the pool of executors
-
-
Method Details
-
get
@NonNull public <T> @NonNull CompletableFuture<Optional<T>> get(@NonNull @NonNull Object key, @NonNull @NonNull io.micronaut.core.type.Argument<T> requiredType) Description copied from interface:AsyncCacheResolve the given value for the given key.- Specified by:
getin interfaceAsyncCache<com.hazelcast.map.IMap<Object,Object>> - Type Parameters:
T- The concrete type- Parameters:
key- The cache keyrequiredType- The required type- Returns:
- An optional containing the value if it exists and is able to be converted to the specified type
-
get
public <T> CompletableFuture<T> get(@NonNull @NonNull Object key, @NonNull @NonNull io.micronaut.core.type.Argument<T> requiredType, @NonNull @NonNull Supplier<T> supplier) Description copied from interface:AsyncCacheResolve the given value for the given key. If the value is not found the specifiedSupplierwill be invoked and the return value cached.- Specified by:
getin interfaceAsyncCache<com.hazelcast.map.IMap<Object,Object>> - Type Parameters:
T- The concrete type- Parameters:
key- The cache keyrequiredType- The required typesupplier- The supplier that should be invoked if the value is not found- Returns:
- An optional containing the value if it exists and is able to be converted to the specified type
-
putIfAbsent
@NonNull public <T> @NonNull CompletableFuture<Optional<T>> putIfAbsent(@NonNull @NonNull Object key, @NonNull T value) Description copied from interface:AsyncCacheCache the specified value using the specified key if it is not already present.
- Specified by:
putIfAbsentin interfaceAsyncCache<com.hazelcast.map.IMap<Object,Object>> - Type Parameters:
T- The concrete type- Parameters:
key- The key with which the specified value is to be associatedvalue- The value to be associated with the specified key- Returns:
- An optional of the existing value or
Optional.empty()if the specified value parameter was cached
-
put
Description copied from interface:AsyncCacheCache the specified value using the specified key.
- Specified by:
putin interfaceAsyncCache<com.hazelcast.map.IMap<Object,Object>> - Parameters:
key- The key with which the specified value is to be associatedvalue- The value to be associated with the specified key- Returns:
- A future with a boolean indicating whether the operation was successful or not
-
invalidate
Description copied from interface:AsyncCacheInvalidate the value for the given key.- Specified by:
invalidatein interfaceAsyncCache<com.hazelcast.map.IMap<Object,Object>> - Parameters:
key- The key to invalid- Returns:
- A future with a boolean indicating whether the operation was succesful or not
-
invalidateAll
Description copied from interface:AsyncCacheInvalidate all cached values within this cache.- Specified by:
invalidateAllin interfaceAsyncCache<com.hazelcast.map.IMap<Object,Object>> - Returns:
- A future with a boolean indicating whether the operation was succesful or not
-
getName
-
getNativeCache
public com.hazelcast.map.IMap getNativeCache()- Specified by:
getNativeCachein interfaceCache<com.hazelcast.map.IMap<Object,Object>> - Returns:
- The native cache implementation
-