rax-remote-2/vital-signs/src/main/java/com/rax/vital/timer/VitalSignTimer.java

60 lines
1.5 KiB
Java
Raw Normal View History

2024-02-22 18:13:08 +08:00
package com.rax.vital.timer;
import lombok.RequiredArgsConstructor;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
@Component
@RequiredArgsConstructor
public class VitalSignTimer {
private final SimpMessagingTemplate simpMessagingTemplate;
private TimerTask timerTask = null;
private static final Map<String, TimerTask> timerTaskMap = new HashMap(300);
public void createAndSendMessage(String database) {
TimerTask task = timerTaskMap.get(database);
if (task != null) {
return;
}
Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
// MongoDBSource mongoDBSource = new MongoDBSource("localhost:27017", "root", "root", "ceshi");
// MongoTemplate template = mongoDBSource.open();
// Query query = new Query();
// Criteria criteria = new Criteria();
// criteria.where("");
// query.addCriteria(criteria);
// query.limit(1);
// List<Map> cs = template.find(query, Map.class, "cs");
try {
simpMessagingTemplate.convertAndSend("/topic/doctorMedicine", "111111111");
} catch (Exception e) {
e.printStackTrace();
}
}
};
timer.schedule(timerTask, 0, 1000);
timerTaskMap.put(database, timerTask);
}
public void stopTimerTask(String database) {
TimerTask timerTask = timerTaskMap.get(database);
if (timerTask != null) {
timerTask.cancel();
timerTaskMap.remove(database);
}
}
}