我使用Spring WebSockets、STOMP和SockJS来处理前端的相关内容。虽然它工作得不错,但我还遇到了一些困难。
这是后端代码:
@MessageMapping("/showAccountlist")
@SendTo("/topic/accounts")
public Account createPublishAccount(String name) throws Exception {
return new Account(name);
}
这是前端代码,完全正常运行,所有消息都会发布到所有客户端。
stompClient.send("/app/showAccountlist", {}, name);
但是当我从Java后端调用我的后端方法时,方法名称为:from。
createPublishAccount("Carlos");
似乎消息没有被发布。有什么解决方法吗?或者这不是它的工作方式,只有在通过SockJS触发时才起作用?
这是我的webconfig:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/showAccountlist").withSockJS();
}
}