Class Channels


  • public class Channels
    extends Object
    This singleton class is in charge of giving out the correct channels.
    • Method Detail

      • getReplicas

        public static Collection<Replica> getReplicas()
        Method for retrieving the list of replicas used for the channels. The replica ids are in the same order as their channels.
        Returns:
        The replica ids in the same order as their channels.
      • getThisReposClient

        public static ChannelID getThisReposClient()
        Returns the one-per-client queue on which client receives replies from the arcrepository.
        Returns:
        the ChannelID object for this queue.
      • getTheRepos

        public static ChannelID getTheRepos()
        Returns the queue on which all messages to the Repository are sent.
        Returns:
        the ChannelID object for this queue.
      • getAllArchives_BAMONs

        public static final ChannelID[] getAllArchives_BAMONs()
        Returns BAMON channels for every known bitarchive (replica).
        Returns:
        An array of BAMON channels - one per bitarchive (replica)
      • getTheBamon

        public static ChannelID getTheBamon()
                                     throws IllegalState
        Returns the queue for sending messages to bitarchive monitors.
        Returns:
        the ChannelID object for this queue.
        Throws:
        IllegalState - If the current replica is not a checksum replica.
      • getAllArchives_CRs

        public static final ChannelID[] getAllArchives_CRs()
        Returns the channels for the all Checksum replicas.
        Returns:
        An array of THE_CR channels - one for each replica, though only the checksum replicas have values (the others are null).
      • getTheCR

        public static ChannelID getTheCR()
                                  throws IllegalState
        Method for retrieving the 'THE_CR' channel for this replica. If the replica is not a checksum replica, then an error is thrown.
        Returns:
        the 'THE_CR' channel for this replica.
        Throws:
        IllegalState - If the current replica is not a checksum replica.
      • getAllArchives_ALL_BAs

        public static final ChannelID[] getAllArchives_ALL_BAs()
        Returns ALL_BA channels for every known bitarchive.
        Returns:
        An array of ALL_BA channels - one per bitarchive
      • getAllBa

        public static ChannelID getAllBa()
                                  throws IllegalState
        Returns the topic that all bitarchive machines on this replica are listening on.
        Returns:
        A topic channel that reaches all local bitarchive machines
        Throws:
        IllegalState - If the current replica is not a bitarchive replica.
      • getAllArchives_ANY_BAs

        public static final ChannelID[] getAllArchives_ANY_BAs()
        Returns ANY_BA channels for every known bitarchive.
        Returns:
        An array of ANY_BA channels - one per bitarchive
      • getAnyBa

        public static ChannelID getAnyBa()
                                  throws IllegalState
        Returns the channel where exactly one of all the bitarchive machines at this replica will get the message.
        Returns:
        A queue channel that reaches one of the local bitarchive machines.
        Throws:
        IllegalState - If the current replica is not a bitarchive replica.
      • getError

        public static ChannelID getError()
        Returns the queue on which to put errors which are not handled elsewhere.
        Returns:
        the ChannelID object for this queue.
      • getBaMonForReplica

        public static ChannelID getBaMonForReplica​(String replicaId)
                                            throws ArgumentNotValid
        Given an replica, returns the BAMON queue to which batch jobs must be sent in order to run them on that bitarchive.
        Parameters:
        replicaId - The id of the replica
        Returns:
        the channel
        Throws:
        ArgumentNotValid - if the replicaId is null, unknown, or empty string
      • getTheCrForReplica

        public static ChannelID getTheCrForReplica​(String replicaId)
      • retrieveReplicaFromIdentifierChannel

        public static Replica retrieveReplicaFromIdentifierChannel​(String channelName)
                                                            throws UnknownID,
                                                                   ArgumentNotValid
        Method for extracting the replica from the name of the identifier channel.
        Parameters:
        channelName - The name of the identification channel for the replica.
        Returns:
        Replica who the identification channel belong to.
        Throws:
        UnknownID - If the replicaId does not point to a know replica.
        ArgumentNotValid - If the channelName is either null or empty.
      • retrieveReplicaChannelNameFromReplicaId

        public static String retrieveReplicaChannelNameFromReplicaId​(String replicaId)
                                                              throws UnknownID,
                                                                     ArgumentNotValid
        The method for retrieving the name of the identification channel for a replica based on the Id of this replica.
        Parameters:
        replicaId - The id for the replica whose identification channel name should be retrieved.
        Returns:
        The name of the identification channel for the replica.
        Throws:
        UnknownID - If no replica with the given replica id is known.
        ArgumentNotValid - If the replicaId is null or empty.
      • retrieveReplicaChannelFromReplicaId

        public static ChannelID retrieveReplicaChannelFromReplicaId​(String replicaId)
                                                             throws UnknownID,
                                                                    ArgumentNotValid
        The method for retrieving the identification channel for a replica based on the Id of this replica.
        Parameters:
        replicaId - The id for the replica whose identification channel name should be retrieved.
        Returns:
        The identification channel for the replica.
        Throws:
        UnknownID - If no replica with the given replica id is known.
        ArgumentNotValid - If the replicaId is null or empty.
      • getTheIndexServer

        public static ChannelID getTheIndexServer()
        Returns the queue for sending messages to the IndexServer application.
        Returns:
        the ChannelID object for this queue.
      • getThisIndexClient

        public static ChannelID getThisIndexClient()
        Returns the queue for getting responses from the IndexServer application.
        Returns:
        the ChannelID object for this queue.
      • getTheMonitorServer

        public static ChannelID getTheMonitorServer()
        Return the topic for the monitor registry.
        Returns:
        the ChannelID object for the queue.
      • reset

        public static void reset()
        Reset the instance to re-read the settings. Only for use in tests.
      • isTopic

        public static boolean isTopic​(String name)
        Is a given name a ChannelName for a Topic or a Queue.
        Parameters:
        name - a given name
        Returns:
        true, if arg name contains the string "_ALL_"