60 lines
1.5 KiB
Java
60 lines
1.5 KiB
Java
![]() |
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);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|