You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RSocket端点访问异常求助:无目标处理器问题排查

解决RSocket端点访问异常:No handler for destination ''

这个异常的核心原因很明确:你的客户端请求没有携带正确的路由元数据,导致服务器接收不到hello这个路由标识,自然找不到对应的@MessageMapping("hello")处理器。你怀疑RSocketRequester.wrap的配置问题是对的,问题就出在元数据MIME类型的设置上。

问题根源

Spring RSocket服务器默认使用message/x.rsocket.routing.v0作为路由元数据的专用MIME类型,用来识别@MessageMapping指定的路由。而你之前把元数据类型设为application/json,这会导致客户端无法正确编码route("hello")的路由信息,服务器拿到的就是空的destination,所以抛出异常。

另外,服务端开启的lazy-initialization: true也可能影响RSocket处理器的初始化,导致路由处理器没被加载,建议先关闭。

修复方案

方案一:推荐使用RSocketRequester.Builder构建(更简洁不易错)

直接用Spring提供的Builder来构建RSocketRequester,它会自动处理元数据编码和连接细节,不需要手动配置单独的RSocket bean:

@Bean
RSocketRequester requester(RSocketStrategies strategies) {
    return RSocketRequester.builder()
            .rsocketStrategies(strategies)
            .dataMimeType(MimeTypeUtils.APPLICATION_JSON)
            .connectTcp("localhost", 7500)
            .block();
}

方案二:如果必须使用wrap方法

需要明确指定元数据MIME类型为路由专用的类型,并且搭配正确的处理策略:

import io.rsocket.metadata.WellKnownMimeType;
import org.springframework.util.MimeType;

@Bean
RSocket rSocket() {
    return RSocketFactory.connect()
            .metadataMimeType(WellKnownMimeType.MESSAGE_RSOCKET_ROUTING.getString())
            .dataMimeType(MimeTypeUtils.APPLICATION_JSON_VALUE)
            .frameDecoder(PayloadDecoder.ZERO_COPY)
            .transport(TcpClientTransport.create(new InetSocketAddress(7500)))
            .start()
            .block();
}

@Bean
RSocketRequester requester(RSocketStrategies strategies) {
    return RSocketRequester.wrap(
            rSocket(),
            MimeTypeUtils.APPLICATION_JSON,
            MimeType.valueOf(WellKnownMimeType.MESSAGE_RSOCKET_ROUTING.getString()),
            strategies
    );
}

服务端配置调整

关闭懒加载,确保RSocket处理器被正确初始化:

spring:
  rsocket:
    server:
      port: 7500
      transport: tcp
main:
  lazy-initialization: false

验证步骤

  1. 按照上述方案修改客户端代码
  2. 调整服务端yml配置
  3. 重启服务端和客户端,调用/greet/{name}接口,应该能正常返回GreetingsResponse对象。

内容的提问来源于stack exchange,提问作者Roie Beck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:58:01