spring-mvc,websockets 推送集成
Posted
技术标签:
【中文标题】spring-mvc,websockets 推送集成【英文标题】:spring-mvc, websockets push integration 【发布时间】:2014-03-31 21:44:25 【问题描述】:我已点击此链接http://spring.io/guides/gs/messaging-stomp-websocket/ 并启动并运行该应用程序。
我想要的不止于此,我希望能够将数据推送回客户端,而无需客户端发送任何内容。
所以我用类似于下面的监听器设置了一个长时间运行的任务
GreetingController 实现 RunnableListener RunnableListener 有一个方法 public Greeting 问候语(HelloMessage 消息);
方法的实现是启动一个线程,然后调用监听方法..
发生这种情况时,我会在控制台上看到输出,但在浏览器上看不到任何内容。
谁能告诉我如何启动一个正在运行的任务并让服务器使用 Spring 而不是 poll 将内容推送到浏览器(javascript 中的 setTimeout 东西?)
问候 锡
【问题讨论】:
【参考方案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");
查看reference documentation for more details。
【讨论】:
以上是关于spring-mvc,websockets 推送集成的主要内容,如果未能解决你的问题,请参考以下文章