解析代码

This commit is contained in:
wangshilong 2024-11-23 15:33:51 +08:00
parent a198394ba7
commit 1e97ba7505
4 changed files with 26 additions and 3 deletions

View File

@ -23,7 +23,7 @@ import org.springframework.stereotype.Component;
public class Knpcv1DecodeHandler implements DecodeHandler {
public static final String MODBUS_DEVICE_TYPE = "KNPCV1";
private final RedisTemplate<String, Object> redisTemplate;
private final RedisTemplate redisTemplate;
@Override
public void decode(Message message) throws Exception {

View File

@ -1,9 +1,17 @@
package com.isu.gaswellwatch.modbus.data.decode.listener;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.amqp.core.BatchMessageListener;
import org.springframework.amqp.core.Message;
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.List;
/**
@ -20,7 +28,20 @@ public class ModbusMessageBackupListener implements BatchMessageListener {
@Override
public void onMessageBatch(List<Message> messages) {
Path filePath;
String messageString, queueName, backupFileName;
for (Message message : messages) {
queueName = message.getMessageProperties().getConsumerQueue();
backupFileName = StringUtils.replace(queueName, "/", "_");
messageString = new String(message.getBody());
filePath = Paths.get("D:\\modbus\\data\\" + backupFileName + ".data");
try (BufferedWriter writer = Files.newBufferedWriter(filePath, StandardCharsets.UTF_8, StandardOpenOption.APPEND)) {
writer.write(messageString);
writer.write("\n");
} catch (IOException e) {
log.error("Backup message failed. QueueName {}, Message {}", queueName, messageString, e);
}
}
}
}

View File

@ -20,6 +20,8 @@ public class ModbusMessagePersistListener implements BatchMessageListener {
@Override
public void onMessageBatch(List<Message> messages) {
for (Message message : messages) {
}
}
}

View File

@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
@RequiredArgsConstructor
public class Redis2DBPersistenceHandlerImpl implements PersistenceHandler {
private final RedisTemplate<String, Object> redisTemplate;
private final RedisTemplate redisTemplate;
@Scheduled(cron = "0/10 * * * * ? ")
public void write() {