1
我有一個應用程序從RabbitMQ接收一些數據。一切工作正常,我的意思是在課堂上我有註解@EnableScheduling。Spring SimpMessagingTemplate
@Scheduled(fixedDelay = 5000)
public void volumeGraphData() {
Random r = new Random();
Graph graph = new Graph();
graph.setVolume(r.nextInt(500));
String json = gson.toJson(graph);
MessageBuilder<byte[]> messageBuilder = MessageBuilder.withPayload(json.getBytes());
simpMessagingTemplate.send("/" + volumeGraph, messageBuilder.build());
}
但是,當我想從處理通過的RabbitMQ隊列偵聽器接收的消息(這工作太),並通過使用SimpMessagingTemplate它們傳遞到特定的上下文踐踏的WebSocket我不能這樣做。 SimpMessagingTemplate在dispatcher-servlet.xml中定義,但與RabbitMQ相關的配置位於根上下文中。我試圖將所有內容都移到一個上下文中,但它不起作用。任何人都有類似的情況下,我有?
「它不起作用」根本沒有任何幫助;你需要描述症狀。您應該能夠簡單地將'SimpMessagingTemplate'移動到根上下文。 –
是的,你是對的;)我的意思是我無法將從RabbitMQ收到的消息傳遞給Stomp端點之一,以便從前端看到該消息。 WebSocket配置將位於DispatcherServlet上下文中,並且不可能將SimpMessagingTemplate注入根上下文中的bean。 –
我必須補充一點,我將一些bean從disaptcher-servlet.xml移到了根上下文,這個流程終於起作用了。我的意思是Queue Listener接收來自RabbitMQ的消息,然後將其發送到註釋了SimpMessagingTemplate的類。消息已發送,...在前端沒有發生.... –