【问题标题】:spring-mvc, websockets push integrationspring-mvc,websockets 推送集成
【发布时间】:2014-03-31 21:44:25
【问题描述】:

我已点击此链接http://spring.io/guides/gs/messaging-stomp-websocket/ 并启动并运行该应用程序。

我想要的不止于此,我希望能够将数据推送回客户端,而无需客户端发送任何内容。

所以我用类似于下面的监听器设置了一个长时间运行的任务

GreetingController 实现 RunnableListener RunnableListener 有一个方法 public Greeting 问候语(HelloMessage 消息);

方法的实现是启动一个线程,然后调用监听方法..

发生这种情况时,我会在控制台上看到输出,但在浏览器上看不到任何内容。

谁能告诉我如何启动一个正在运行的任务并让服务器使用 Spring 而不是 poll 将内容推送到浏览器(javascript 中的 setTimeout 东西?)

问候 锡

【问题讨论】:

    标签: spring-mvc websocket spring-websocket


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2016-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 2013-02-26
      • 2012-12-31
      • 2014-06-23
      • 1970-01-01
      相关资源
      最近更新 更多