[+] 终端告警信令

This commit is contained in:
acgist
2023-02-27 08:15:23 +08:00
parent 71ada0a8ca
commit 4f6ae876d7
8 changed files with 203 additions and 143 deletions

View File

@@ -1,5 +1,39 @@
package com.acgist.taoyao.signal.flute.media;
import lombok.Getter;
import lombok.Setter;
/**
* 数据消费者
*
* @author acgist
*/
@Getter
@Setter
public class DataConsumer {
/**
* 消费者终端
*/
private final ClientWrapper consumeClient;
/**
* 生产者
*/
private final Producer producer;
/**
* 数据流ID
*/
private final String streamId;
/**
* 消费者标识
*/
private final String consumerId;
public DataConsumer(ClientWrapper consumeClient, Producer producer, String streamId, String consumerId) {
this.consumeClient = consumeClient;
this.producer = producer;
this.streamId = streamId;
this.consumerId = consumerId;
}
}

View File

@@ -1,9 +1,42 @@
package com.acgist.taoyao.signal.flute.media;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import lombok.Getter;
import lombok.Setter;
/**
* 数据生产者
*
* @author acgist
*/
@Setter
@Getter
public class DataProducer {
private Map<String, DataConsumer> dataConsumers;
/**
* 生产者终端
*/
private final ClientWrapper produceClient;
/**
* 数据流ID
*/
private final String streamId;
/**
* 生产者标识
*/
private final String producerId;
/**
* 消费者
*/
private final Map<String, DataConsumer> dataConsumers;
public DataProducer(ClientWrapper produceClient, String streamId, String producerId) {
this.produceClient = produceClient;
this.streamId = streamId;
this.producerId = producerId;
this.dataConsumers = new ConcurrentHashMap<>();
}
}

View File

@@ -39,16 +39,21 @@ public class ClientAlarmProtocol extends ProtocolClientAdapter {
@Override
public void execute(String clientId, ClientType clientType, Client client, Message message, Map<String, Object> body) {
final String alarmMessage = MapUtils.get(body, Constant.MESSAGE);
final String alarmDatetime = MapUtils.get(body, Constant.DATETIME);
log.warn(
"""
终端发生告警:{}
{}
{}
终端告警:{}
终端类型:{}
告警描述:{}
告警时间:{}
""",
clientId,
MapUtils.get(body, Constant.MESSAGE),
MapUtils.get(body, Constant.DATETIME)
clientType,
alarmMessage,
alarmDatetime
);
// 业务逻辑
}
}