Class CoarseSessionAttributesFactory<C,V>

java.lang.Object
org.wildfly.clustering.session.infinispan.embedded.attributes.CoarseSessionAttributesFactory<C,V>
Type Parameters:
C - the session manager context type
V - 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 CoarseSessionAttributesFactory<C,V> extends Object implements org.wildfly.clustering.session.cache.attributes.SessionAttributesFactory<C, Map<String,Object>>
SessionAttributesFactory for coarse granularity sessions, where all session attributes are stored in a single cache entry. This implementation is safe for attributes that strongly reference each other.
Author:
Paul Ferraro
  • Constructor Details

    • CoarseSessionAttributesFactory

      public CoarseSessionAttributesFactory(org.wildfly.clustering.session.cache.attributes.SessionAttributesFactoryConfiguration<Map<String,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 session attributes.
      Parameters:
      configuration - the configuration of this factory
      persistenceNotifierFactory - the persistence notifier factory
      passivationNotifierFactory - the passivation notifier factory
      infinispan - the configuration associated with this cache
  • Method Details

    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.wildfly.clustering.session.cache.attributes.SessionAttributesFactory<C,V>
    • createValueAsync

      public CompletionStage<Map<String,Object>> createValueAsync(String id, Void context)
      Specified by:
      createValueAsync in interface org.wildfly.clustering.cache.CacheEntryCreator<String, Map<String,Object>, Void>
    • findValueAsync

      public CompletionStage<Map<String,Object>> findValueAsync(String id)
      Specified by:
      findValueAsync in interface org.wildfly.clustering.cache.CacheEntryLocator<C,V>
    • tryValueAsync

      public CompletionStage<Map<String,Object>> tryValueAsync(String id)
      Specified by:
      tryValueAsync in interface org.wildfly.clustering.cache.CacheEntryLocator<C,V>
    • removeAsync

      public CompletionStage<Void> removeAsync(String id)
      Specified by:
      removeAsync in interface org.wildfly.clustering.cache.CacheEntryRemover<C>
    • purgeAsync

      public CompletionStage<Void> purgeAsync(String id)
      Specified by:
      purgeAsync in interface org.wildfly.clustering.cache.CacheEntryRemover<C>
    • createImmutableSessionAttributes

      public Map<String,Object> createImmutableSessionAttributes(String id, Map<String,Object> attributes)
      Specified by:
      createImmutableSessionAttributes in interface org.wildfly.clustering.session.cache.attributes.ImmutableSessionAttributesFactory<C>
    • createSessionAttributes

      public org.wildfly.clustering.session.cache.attributes.SessionAttributes createSessionAttributes(String id, Map<String,Object> attributes, org.wildfly.clustering.session.ImmutableSessionMetaData metaData, C context)
      Specified by:
      createSessionAttributes in interface org.wildfly.clustering.session.cache.attributes.SessionAttributesFactory<C,V>