Pergunta

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?

Foi útil?

Solução

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;
}

Outras dicas

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top