public class ResponseQueue extends ZabbixClient implements MetricTable, java.lang.Runnable
JabbixActiveMetric
, которые отправляются на сервер и ссылку на другую очередь, в которую возвращаются отправленные метрики.Когда активная метрика добавляется к очереди счётчик её устаревания сбрасывается. По этой причине, отправка значения на сервер производится в том случае, когда истекает один полный период её устаревания, или когда это происходит для какой-либо другой метрики.
Constructor and Description |
---|
ResponseQueue(java.net.InetSocketAddress addr,
MetricTable returnTable)
Создаёт очередь с указанными параметрами.
|
Modifier and Type | Method and Description |
---|---|
MetricTable |
getReturnTable()
Возвращает очередь, в которую помещаются отправленные метрики
|
boolean |
isTerminated()
Возвращает признак завершения цикла ожидания-отправки.
|
void |
run()
Запускает цикл ожидания-отправки.
|
void |
terminate()
Завершает цикл ожидания-отправки для данной очереди.
|
void |
updateMetric(JabbixActiveMetric freshMetric)
Добавляет указанную метрику в очередь.
|
getAddress, getHostName, setAddress, setAddress, setAddress, setAddress, setHostName
public ResponseQueue(java.net.InetSocketAddress addr, MetricTable returnTable)
addr
- адрес сокета удалённого сервераreturnTable
- таблица, в которую возвращаются отправленные записиpublic void run()
ResponseQueue.terminate()
, процесс ожидает устаревания любой метрики в очереди, а затем отправляет всё содержимое очереди в виде запроса "agent data". После этого набор отправленных метрик добавляется в возвратную таблицу.run
in interface java.lang.Runnable
JabbixJSONProtocol.sendMetricList(JabbixWriter, String, Collection)
,
ResponseQueue.getReturnTable()
public void updateMetric(JabbixActiveMetric freshMetric)
JabbixActiveMetric.setActive(boolean)
) выключается и включается. Данная операция приводит к тому, что счётчик устаревания метрики сбрасывается.updateMetric
in interface MetricTable
freshMetric
- метрика, которую нужно добавитьJabbixMetric.equals(Object)
public MetricTable getReturnTable()
public boolean isTerminated()
ResponseQueue.run()
public void terminate()
ResponseQueue.run()