Связано с вопросом autowire simpmessagingtemplate
У меня проблема с классом ExecutorSubscribeableChannel. Я хочу, чтобы сервер отправлял асинхронное сообщение в браузер. Как я могу правильно использовать ExecutorSubscribeableChannel?
Пример:
public class GreetingController {
@Autowired
private SimpMessagingTemplate template;
public void setTemplate(SimpMessagingTemplate template) {
this.template = template;
}
@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting(HelloMessage message) throws Exception {
Thread.sleep(5000); // simulated delay
this.template.convertAndSend("/topic/greetings", "Hello World");
return new Greeting("Hello, " + message.getName() + "!");
}
}
но текст «привет мир», который я отправляю в строке
this.template.convertAndSend("/topic/greetings", "Hello World");
не принимается браузером. Все остальное работает нормально.
Конфигурация бобов:
<bean id="executorSC" class="org.springframework.messaging.support.ExecutorSubscribableChannel"/>
<bean id="template" class="org.springframework.messaging.simp.SimpMessagingTemplate">
<constructor-arg index="0" ref="executorSC"/>
</bean>
Заранее спасибо.