Class FineSessionAttributesFactory<C,V>
java.lang.Object
org.wildfly.clustering.session.infinispan.embedded.attributes.FineSessionAttributesFactory<C,V>
- Type Parameters:
C- the session manager context typeV- the cache value type
- All Implemented Interfaces:
AutoCloseable, org.wildfly.clustering.cache.CacheEntryCreator<String, Map<String,Object>, Void>, org.wildfly.clustering.cache.CacheEntryLocator<String, Map<String, Object>>, org.wildfly.clustering.cache.CacheEntryRemover<String>, org.wildfly.clustering.session.cache.attributes.ImmutableSessionAttributesFactory<Map<String, Object>>, org.wildfly.clustering.session.cache.attributes.SessionAttributesFactory<C, Map<String, Object>>
public class FineSessionAttributesFactory<C,V>
extends Object
implements org.wildfly.clustering.session.cache.attributes.SessionAttributesFactory<C, Map<String,Object>>
SessionAttributesFactory for fine granularity sessions, where all session attributes are stored in a single cache entry,
but changes are applied by functions such that only modified and mutated values ever replicate/persist.
This implementation is unsuited for attributes that strongly reference each other.- Author:
- Paul Ferraro
-
Constructor Summary
ConstructorsConstructorDescriptionFineSessionAttributesFactory(org.wildfly.clustering.session.cache.attributes.SessionAttributesFactoryConfiguration<Object, V> configuration, BiFunction<org.wildfly.clustering.session.ImmutableSession, C, org.wildfly.clustering.session.cache.attributes.SessionAttributeActivationNotifier> persistenceNotifierFactory, org.wildfly.clustering.function.Function<String, org.wildfly.clustering.session.cache.attributes.SessionAttributeActivationNotifier> passivationNotifierFactory, org.wildfly.clustering.cache.infinispan.embedded.EmbeddedCacheConfiguration infinispan) Creates a factory for fine-granularity session attributes entry. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()createImmutableSessionAttributes(String id, Map<String, Object> attributes) org.wildfly.clustering.session.cache.attributes.SessionAttributescreateSessionAttributes(String id, Map<String, Object> attributes, org.wildfly.clustering.session.ImmutableSessionMetaData metaData, C context) createValue(String id, Void context) createValueAsync(String id, Void context) findValueAsync(String id) purgeAsync(String id) removeAsync(String id) tryValueAsync(String id) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.wildfly.clustering.cache.CacheEntryLocator
findValue, tryValueMethods inherited from interface org.wildfly.clustering.cache.CacheEntryRemover
purge, remove
-
Constructor Details
-
FineSessionAttributesFactory
public FineSessionAttributesFactory(org.wildfly.clustering.session.cache.attributes.SessionAttributesFactoryConfiguration<Object, V> configuration, BiFunction<org.wildfly.clustering.session.ImmutableSession, C, org.wildfly.clustering.session.cache.attributes.SessionAttributeActivationNotifier> persistenceNotifierFactory, org.wildfly.clustering.function.Function<String, org.wildfly.clustering.session.cache.attributes.SessionAttributeActivationNotifier> passivationNotifierFactory, org.wildfly.clustering.cache.infinispan.embedded.EmbeddedCacheConfiguration infinispan) Creates a factory for fine-granularity session attributes entry.- Parameters:
configuration- the configuration for this factorypersistenceNotifierFactory- the persistence notifier factorypassivationNotifierFactory- the passivation notifier factoryinfinispan- the configuration of the associated cache
-
-
Method Details
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceorg.wildfly.clustering.session.cache.attributes.SessionAttributesFactory<C,V>
-
createValueAsync
-
createValue
-
findValueAsync
-
tryValueAsync
-
removeAsync
- Specified by:
removeAsyncin interfaceorg.wildfly.clustering.cache.CacheEntryRemover<C>
-
purgeAsync
- Specified by:
purgeAsyncin interfaceorg.wildfly.clustering.cache.CacheEntryRemover<C>
-
createImmutableSessionAttributes
-
createSessionAttributes
-