Java RSocket客户端与Spring RSocket通道连接
我有简单的Spring boot RSocket服务Java RSocket客户端与Spring RSocket通道连接,java,spring-boot,rsocket,rsocket-java,spring-rsocket,Java,Spring Boot,Rsocket,Rsocket Java,Spring Rsocket,我有简单的Spring boot RSocket服务 @MessageMapping("msend") public Flux<String> msend(String message) { log.info("msend channel publish " + message); return Flux.just(message, " "+System.currentTime
@MessageMapping("msend")
public Flux<String> msend(String message) {
log.info("msend channel publish " + message);
return Flux.just(message, " "+System.currentTimeMillis());
}
@MessageMapping(“msend”)
公共流量msend(字符串消息){
log.info(“msend频道发布”+消息);
返回通量.just(消息““+System.currentTimeMillis());
}
连接2个Spring服务很容易,但是我的客户机应用程序没有Spring,我的客户机应该在RSocketJava中
我很难理解如何将(路由,如Spring RsocketRequester)消息发送到该特定通道
客户端代码应为:
Mono<RSocket> rsocket = RSocketConnector.create()
.metadataMimeType(WellKnownMimeType.MESSAGE_RSOCKET_COMPOSITE_METADATA.getString())
.connect(TcpClientTransport.create(2050));
///real path "http://gateway:2022/producer/toProducerRsocket", 2050)
///toProducerRsocket redirect to producer/rsocket
Mono-rsocket=RSocketConnector.create()
.metadataMimeType(WellKnownMimeType.MESSAGE\u RSOCKET\u COMPOSITE\u METADATA.getString())
.connect(TcpClientTransport.create(2050));
///“真实路径”http://gateway:2022/producer/toProducerRsocket", 2050)
///toProducerRsocket重定向到producer/rsocket
是否可以订阅Spring频道?这看起来适合定义元数据类型。但是您需要为请求流设置它。这里的频道听起来不正确,因为您只有一条输入值消息
如果您搜索github或spring教程,您应该会找到很多这样的例子。
CompositeByteBuf metadata = ByteBufAllocator.DEFAULT.compositeBuffer();
RoutingMetadata routingMetadata = TaggingMetadataCodec.createRoutingMetadata(ByteBufAllocator.DEFAULT, List.of("/route"));
CompositeMetadataCodec.encodeAndAddMetadata(metadata,
ByteBufAllocator.DEFAULT,
WellKnownMimeType.MESSAGE_RSOCKET_ROUTING,
routingMetadata.getContent());