org.altlinux.jabbix
Class MetricRequest

java.lang.Object
  extended by org.altlinux.jabbix.MetricRequest
All Implemented Interfaces:
Runnable

public class MetricRequest
extends Object
implements Runnable

Задача, инкапсулирующая процесс получения значения метрики с использованием агента метрики, как синхронно, так и асинхронно.


Constructor Summary
MetricRequest(AgentServer agentServer, JabbixMetric metric, MetricTable table)
          Создаёт новую задачу-запрос с указанными параметрами.
 
Method Summary
 JabbixMetric getFreshMetric()
          Возвращает новый экземпляр метрики, содержащий свежее значние для указанной во время создания зспроса метрики
 void run()
          Используется для асинхронного получения и обновления значения метрики.
 void setAgentServer(AgentServer agentServer)
          Устанавливает сервер агентов метрик для выполнения запросов на получение новых значений.
 void updateMetric(JabbixMetric metric)
          Обновляет значение указанной метрики выполняя запрос к подходящему для этого агенту метрики.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MetricRequest

public MetricRequest(AgentServer agentServer,
                     JabbixMetric metric,
                     MetricTable table)
Создаёт новую задачу-запрос с указанными параметрами.

Parameters:
agentServer - сервер агентов метрик используемый для получения подходящего агента для запрошенной метрики
metric - метрика, для которой нужно получить свежее значение
table - необязательная для указания таблица метрик в которую нужно передать обновлённую метрику
Method Detail

run

public void run()
Используется для асинхронного получения и обновления значения метрики. В завершение обновлённая метрика может быть записана в таблицу обновлений.

Specified by:
run in interface Runnable

getFreshMetric

public JabbixMetric getFreshMetric()
                            throws JabbixException,
                                   NoSuchMetricException
Возвращает новый экземпляр метрики, содержащий свежее значние для указанной во время создания зспроса метрики

Returns:
новый экземпляр метрики со свежим значением
Throws:
JabbixException - в ответ на исключительную ситуацию во время получения значения
NoSuchMetricException - если агент метрики не был найден для указанной метрики

updateMetric

public void updateMetric(JabbixMetric metric)
                  throws JabbixException,
                         NoSuchMetricException
Обновляет значение указанной метрики выполняя запрос к подходящему для этого агенту метрики.

Parameters:
metric - метрика для обновления
Throws:
JabbixException - в ответ на исключительную ситуацию во время получения значения
NoSuchMetricException - если агент метрики не был найден для указанной метрики

setAgentServer

public void setAgentServer(AgentServer agentServer)
Устанавливает сервер агентов метрик для выполнения запросов на получение новых значений.

Parameters:
agentServer - сервер агентов метрик