org.altlinux.jabbix
Class JabbixRequest

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

public class JabbixRequest
extends Object
implements Runnable

Объект-задача, который используется для асинхронного получения значения метрики.


Constructor Summary
JabbixRequest(AgentServer srv, Socket sock)
          Создаёт объект-задачу для выполнения запроса с указанными параметрами.
 
Method Summary
 String getCommand()
          Возвращает команду, которая была установлена и должна быть обработана.
 boolean isParsed()
          Указывает, был ли запрос интерпретирован.
 void run()
          Запускает обработку запроса.
 void setCommand(String cmd)
          Устанавливает команду, которая должна быть обработана в рамках данного запроса.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JabbixRequest

public JabbixRequest(AgentServer srv,
                     Socket sock)
Создаёт объект-задачу для выполнения запроса с указанными параметрами.

Parameters:
srv - сервер агентов метрик, используемый для получения подходящего для полученного ключа агента
sock - подключённый сокет для приёма данный запроса и для отправки полученного значения метрики
Method Detail

isParsed

public boolean isParsed()
Указывает, был ли запрос интерпретирован. Если никакая команда не была установлена до начала обработки запроса, то в этом случае делается попытка прочитать команду из сокета и интерпретировать её.

Returns:
истина, если команда была интерпретирована успешно, иначе ложь
See Also:
JabbixRequest.run()

getCommand

public String getCommand()
Возвращает команду, которая была установлена и должна быть обработана.

Returns:
команда, которая должна быть обработкана в рамках данного запроса

setCommand

public void setCommand(String cmd)
Устанавливает команду, которая должна быть обработана в рамках данного запроса. Обычно никакая команда не устанавливается до начала обработки запроса, и в этом случае делается попытка прочитать команду из сокета и интерпретировать её.

Parameters:
cmd - команда
See Also:
JabbixRequest.run()

run

public void run()
Запускает обработку запроса. Если никакая команда не была установлена до начала обработки запроса, то в этом случае делается попытка прочитать команду из сокета и интерпретировать её. Если команда была идентифицирована удачно, то устанавливаются параметры parsed и command. После этого команда обрабатывается. Если команда была определена как ключ метрики, тогда у сервера агентов запрашивается агент метрики из которого извлекается свежее значение метрики. Новое значение метрики отправляется запрашивающей стороне в виде ответного сообщения.

Specified by:
run in interface Runnable
Throws:
RuntimeException - если во время процесса обработки запроса возникло исключение
See Also:
JabbixRequest.isParsed(), JabbixRequest.getCommand()