>我正在构建一个作业调度应用程序 - 要求是让用户和管理员监视在网页上运行的作业。当管理员监视所有作业时,用户应仅看到自己的作业。我的设计是这样的,当一个作业被触发时,它入到一个下面有结构的表中。随着作业的进行,其状态将在同一表中相应地更新。
CREATE TABLE JOB_STATUS {
ID INT,
USER_ID INT,
JOB_NAME VARCHAR,
STATUS INT
}
我对踩踏端点有一些基本知识,所以正在考虑采用这种技术。虽然管理员用户可以轻松监控整个表,但我不知道如何为特定用户构建一个 stomp 端点来监控其自己的作业状态。任何帮助,不胜感激。
您可以在此线程中找到示例: Spring websocket 发送给特定的人
简而言之,有一些方法可以将websockets发送给特定用户:
@Controller
public class GreetingController {
@Autowired
private SimpMessagingTemplate messagingTemplate;
@MessageMapping("/hello")
public void greeting(Principal principal, HelloMessage message) throws Exception {
Greeting greeting = new Greeting();
greeting.setContent("Hello!");
messagingTemplate.convertAndSendToUser(message.getToUser(), "/queue/reply", greeting);
}
}
因此,您可以使用它向侦听正在运行的作业的每个用户发送消息。