I've just started to study Spring 4 stomp over websocket. What are the differences between these two? What cases should I use one over the another?

有帮助吗?

解决方案

There is no difference: MessageSendingOperations is an interface - contract. SimpMessagingTemplate is a concrete implementation of the first one.

Typically it's enough to configure bean for concrete implementation, but inject it by type of its conctract:

@Bean
public MessageSendingOperations messagingTemplate() {
    return new SimpMessagingTemplate(this.inputChannel);
}

...

@Component
public class MyService {

   @Autowired
   private MessageSendingOperations  messagingTemplate;
}

其他提示

While it is true that SimpMessagingTemplate class implements the contracts specified in the MessageSendingOperations interface, you will in practice use SimpMessagingTemplate when you want to send a message to a specific user.

This is because (at the time of writing), the SimpMessageTemplate also implements the subinterface SimpMessageSendingOperations that offers the convertAndSendToUser body of methods.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top