Spring 使用STOMP简单代理时的错误处理
我正在使用Spring 使用STOMP简单代理时的错误处理,spring,spring-websocket,stomp,spring-messaging,Spring,Spring Websocket,Stomp,Spring Messaging,我正在使用@EnableWebSocketMessageBroker创建简单的STOMP代理。当RuntimeException发生在@MessageMapping方法中时,我希望收到STOMPERROR帧,但默认情况下它不会这样工作 似乎在简单代理中不支持错误帧: 另一方面,有一种机制可以发送ERROR帧,该帧在spring-websocket中已经可用,其代码引用了一些与简单代理相关的类: 当@MessageMapping方法中发生运行时异常时,如何启用发送错误帧的机制?快速简便的方法是
@EnableWebSocketMessageBroker
创建简单的STOMP代理。当RuntimeException
发生在@MessageMapping
方法中时,我希望收到STOMPERROR
帧,但默认情况下它不会这样工作
似乎在简单代理中不支持错误
帧:
另一方面,有一种机制可以发送ERROR
帧,该帧在spring-websocket
中已经可用,其代码引用了一些与简单代理相关的类:
当
@MessageMapping
方法中发生运行时异常时,如何启用发送错误
帧的机制?快速简便的方法是在客户端上有一个特定的错误处理程序订阅,在对@MessageMapping端点进行任何调用之前进行订阅。然后在websocket服务器中使用try-catch块包装对该方法的所有调用,并处理发生的异常。然后是一个简单的例子,比如:
messagingTemplate.convertAndSend( "/topic/clientControl/1234", "SHUT_DOWN"); (or send to user etc, depends on your subscription model)
您可以向客户端发送错误消息并允许其处理,也可以决定在服务器端执行什么操作,并拥有一个允许服务器向客户端传递命令的控件订阅。快速简便的方法是在客户端上拥有一个特定的错误处理程序订阅,该订阅在对客户端进行任何调用之前进行订阅@MessageMapping端点。然后在websocket服务器中使用try-catch块包装对该方法的所有调用,并处理发生的异常。然后是一个简单的例子,比如:
messagingTemplate.convertAndSend( "/topic/clientControl/1234", "SHUT_DOWN"); (or send to user etc, depends on your subscription model)
您可以向客户端发送错误消息并允许其进行处理,也可以决定在服务器端执行什么操作,并拥有一个允许服务器向客户端传递命令的控件订阅。您好,我尝试过,但它正在发送消息帧,我想实现发送错误帧,这是STOMP标准的一部分。您好,我尝试过,但它是发送消息帧,我想实现发送错误帧,这是STOMP标准的一部分。