我已点击此链接http://spring.io/guides/gs/messaging-stomp-websocket/并启动并运行该应用。
我想要的远不止于此,我希望能够将数据推送回客户端而无需客户端发送任何内容。
所以我设置了一个长期运行的任务,其监听器类似于下面的
GreetingController实现了RunnableListener 并且RunnableListener有一个方法 公共问候语(HelloMessage消息);
该方法的实现是启动线程然后调用侦听器方法..
当发生这种情况时,我会在控制台上看到输出,但我在浏览器上看不到任何内容。
有没有人可以告诉我如何启动正在运行的任务,让服务器使用Spring而不是轮询(javascript中的setTimeout东西)将内容推送到浏览器中。
此致 锡
答案 0 :(得分:1)
这个RunnableListener
界面是什么?
什么是触发这项任务 - 是否定期安排?
一旦客户订阅了某个主题(此处为/topic/greetings
),您就可以随时使用MessagingTemplate
向该主题发送消息。例如,您可以安排此任务,并让它定期发送给定主题的消息:
@Service
public class GreetingService {
private SimpMessagingTemplate template;
@Autowired
public GreetingService(SimpMessagingTemplate template) {
this.template = template;
}
@Scheduled(fixedDelay=10000)
public void greet() {
this.template.convertAndSend("/topic/greetings", "Hello");
}
}