Class EmbeddedCacheManagerCommandDispatcher<A extends Comparable<A>, M extends org.wildfly.clustering.server.group.GroupMember<A>, C>

java.lang.Object
org.wildfly.clustering.server.infinispan.dispatcher.EmbeddedCacheManagerCommandDispatcher<A,M,C>
Type Parameters:
A - the address type for group members
M - the group member type
C - the command context type
All Implemented Interfaces:
AutoCloseable, org.wildfly.clustering.server.dispatcher.CommandDispatcher<CacheContainerGroupMember, C>

public class EmbeddedCacheManagerCommandDispatcher<A extends Comparable<A>, M extends org.wildfly.clustering.server.group.GroupMember<A>, C> extends Object implements org.wildfly.clustering.server.dispatcher.CommandDispatcher<CacheContainerGroupMember, C>
A CommandDispatcher for dispatching commands to embedded cache manager group members.
Author:
Paul Ferraro
  • Constructor Details

    • EmbeddedCacheManagerCommandDispatcher

      public EmbeddedCacheManagerCommandDispatcher(org.wildfly.clustering.server.dispatcher.CommandDispatcher<M,C> dispatcher, Function<CacheContainerGroupMember, M> unwrapper, Function<M, CacheContainerGroupMember> wrapper)
      Creates a command dispatcher decorator.
      Parameters:
      dispatcher - the decorated command dispatcher
      unwrapper - a function that converts a cache container group member to the member type expected by the decorated command dispatcher
      wrapper - a function that converts a cache container group member from the member type expected by the decorated command dispatcher
  • Method Details

    • getContext

      public C getContext()
      Specified by:
      getContext in interface org.wildfly.clustering.server.dispatcher.CommandDispatcher<A extends Comparable<A>, M extends org.wildfly.clustering.server.group.GroupMember<A>>
    • dispatchToMember

      public <R, E extends Exception> CompletionStage<R> dispatchToMember(org.wildfly.clustering.server.dispatcher.Command<R, ? super C, E> command, CacheContainerGroupMember member) throws IOException
      Specified by:
      dispatchToMember in interface org.wildfly.clustering.server.dispatcher.CommandDispatcher<A extends Comparable<A>, M extends org.wildfly.clustering.server.group.GroupMember<A>>
      Throws:
      IOException
    • dispatchToGroup

      public <R, E extends Exception> Map<CacheContainerGroupMember, CompletionStage<R>> dispatchToGroup(org.wildfly.clustering.server.dispatcher.Command<R, ? super C, E> command) throws IOException
      Specified by:
      dispatchToGroup in interface org.wildfly.clustering.server.dispatcher.CommandDispatcher<A extends Comparable<A>, M extends org.wildfly.clustering.server.group.GroupMember<A>>
      Throws:
      IOException
    • dispatchToGroup

      public <R, E extends Exception> Map<CacheContainerGroupMember, CompletionStage<R>> dispatchToGroup(org.wildfly.clustering.server.dispatcher.Command<R, ? super C, E> command, Set<CacheContainerGroupMember> excluding) throws IOException
      Specified by:
      dispatchToGroup in interface org.wildfly.clustering.server.dispatcher.CommandDispatcher<A extends Comparable<A>, M extends org.wildfly.clustering.server.group.GroupMember<A>>
      Throws:
      IOException
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.wildfly.clustering.server.dispatcher.CommandDispatcher<A extends Comparable<A>, M extends org.wildfly.clustering.server.group.GroupMember<A>>