【问题标题】:simpMessagingTemplate doesn't send mesage from client to serversimpMessagingTemplate 不会将消息从客户端发送到服务器
【发布时间】:2017-04-13 07:38:22
【问题描述】:

我想通过 web 套接字在 2 个 java 应用程序之间交换消息。

我有以下服务器配置:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
        registry.setApplicationDestinationPrefixes("/app");
        registry.enableSimpleBroker("/queue", "/topic");
        registry.setUserDestinationPrefix("/user");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        //todo remove handshake handler when authorization is implemented
        registry.addEndpoint("/ws").setAllowedOrigins("*").setHandshakeHandler(new TestHandshakeHandler()).withSockJS();
    }
}

在标有@Controller的类里面我写了以下主题:

@MessageMapping("/consumer/client/add")
public void addClientRequest(String msgReq) {
    logger.info(msgReq);
}

在客户内部我确实连接并在 sime bean 中我写了以下内容:

@Autowired
private SimpMessagingTemplate simpMessagingTemplate;
...
simpMessagingTemplate.convertAndSend("/app/consumer/client/add", new StubObject("message"));

但在从客户端方法addClientRequest 发送后不会调用。

请提供解决此问题的方法。

实际上我不明白问题。也许我发送到错误的目的地,或者我有配置问题或路径错误或其他问题。

附言

我知道我可以extend StompSessionHandlerAdapter

并从那里获得会话,但看起来这是一种糟糕的风格,应该是另一种实现方式

附言2

类内WebSocketTcpConnectionHandlerAdapter(内类WebSocketStompClient)我看到private volatile WebSocketSession session;

我想获取这个对象来发送消息

【问题讨论】:

    标签: java stomp spring-websocket spring-messaging


    【解决方案1】:

    我不认为它是为这样使用而设计的。

    我认为您必须使用特定的 websocket 客户端。以这个为例: http://www.programmingforliving.com/2013/08/jsr-356-java-api-for-websocket-client-api.html

    这段代码:

    @MessageMapping("/consumer/client/add")
    public void addClientRequest(String msgReq) {
        logger.info(msgReq);
    }
    

    不会连接到 websocket 客户端并等待消息。它期望客户端通过它连接并发送消息。

    【讨论】:

      猜你喜欢
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 2013-04-01
      • 1970-01-01
      相关资源
      最近更新 更多