dk.netarkivet.common.distribute
Class Channels

java.lang.Object
  extended by dk.netarkivet.common.distribute.Channels

public class Channels
extends java.lang.Object

This singleton class is in charge of giving out the correct channels.


Field Summary
static java.lang.String CHANNEL_PART_SEPARATOR
          Channel part separator.
 
Method Summary
static ChannelID[] getAllArchives_ALL_BAs()
          Returns ALL_BA channels for every known bitarchive.
static ChannelID[] getAllArchives_ANY_BAs()
          Returns ANY_BA channels for every known bitarchive.
static ChannelID[] getAllArchives_BAMONs()
          Returns BAMON channels for every known bitarchive (replica).
static ChannelID getAllBa()
          Returns the topic that all bitarchive machines on this replica are listening on.
static ChannelID getAnyBa()
          Returns the channel where exactly one of all the bitarchive machines at this replica will get the message.
static ChannelID getAnyHighpriorityHaco()
          Returns the queue which is used by the scheduler to send doOneCrawl to Harvest Controllers of high priority (selective harvests).
static ChannelID getAnyLowpriorityHaco()
          Returns the queue which is used by the scheduler to send doOneCrawl to Harvest Controllers of low priority (snapshot harvests).
static ChannelID getBaMonForReplica(java.lang.String replicaId)
          Given an replica, returns the BAMON queue to which batch jobs must be sent in order to run them on that bitarchive.
static ChannelID getError()
          Returns the queue on which to put errors which are not handled elsewhere.
static ChannelID getTheBamon()
          Returns the queue for sending messages to bitarchive monitors.
static ChannelID getTheIndexServer()
          Returns the queue for sending messages to the IndexServer application.
static ChannelID getTheMonitorServer()
          Return the queue for the monitor registry.
static ChannelID getTheRepos()
          Returns the queue on which all messages to the Repository are sent.
static ChannelID getTheSched()
          Returns the queue on which HarvestControllers reply with status messages to the HarvestScheduler.
static ChannelID getThisIndexClient()
          Returns the queue for getting responses from the IndexServer application.
static ChannelID getThisReposClient()
          Returns the one-per-client queue on which client receives replies from the arcrepository.
static boolean isTopic(java.lang.String name)
          Is a given name a ChannelName for a Topic or a Queue.
(package private) static void reset()
          Reset the instance to re-read the settings.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CHANNEL_PART_SEPARATOR

public static final java.lang.String CHANNEL_PART_SEPARATOR
Channel part separator.

See Also:
Constant Field Values
Method Detail

getTheSched

public static ChannelID getTheSched()
Returns the queue on which HarvestControllers reply with status messages to the HarvestScheduler.

Returns:
the ChannelID object for the queue on which HarvestControllers reply with status messages to the HarvestScheduler

getAnyHighpriorityHaco

public static ChannelID getAnyHighpriorityHaco()
Returns the queue which is used by the scheduler to send doOneCrawl to Harvest Controllers of high priority (selective harvests).

Returns:
That channel (queue)

getAnyLowpriorityHaco

public static ChannelID getAnyLowpriorityHaco()
Returns the queue which is used by the scheduler to send doOneCrawl to Harvest Controllers of low priority (snapshot harvests).

Returns:
That channel (queue)

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()
Returns the queue for sending messages to bitarchive monitors.

Returns:
the ChannelID object for this queue.

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()
Returns the topic that all bitarchive machines on this replica are listening on.

Returns:
A topic channel that reaches all local bitarchive machines

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()
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.

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(java.lang.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

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 queue for the monitor registry.

Returns:
the ChannelID object for the queue.

reset

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


isTopic

public static boolean isTopic(java.lang.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_"