Я изменил устаревший ConnectWebSocket (URL) на WebSocket (URL)
См. Пример, который я использую здесь: https://spring.io/blog/2020/05/12/getting -ПАРТИРОВАНСКИЙ ВАТА-РСКЕТ-СЕРЕРЫ ЗАЯВЛЕНИЯ КЛИЕНТЫ < /p>
Проблема: данная альтернатива, WebSocket (URL), приводит к нулевым указателю на rsocket requester.rsocket (), почему?@SpringBootApplication
@Slf4j
@AllArgsConstructor
public class RsocketDemoClientApplication implements CommandLineRunner {
private static final String CLIENT_ID = UUID.randomUUID().toString();
private final RSocketRequester rSocketRequester;
private final RSocketRequester.Builder rsocketRequesterBuilder;
public static void main(String[] args) throws Exception {
SpringApplication.run(RsocketDemoClientApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
MimeType SIMPLE_AUTH =
MimeTypeUtils.parseMimeType(WellKnownMimeType.MESSAGE_RSOCKET_AUTHENTICATION.getString());
UsernamePasswordMetadata credentials =
new UsernamePasswordMetadata(“user”, “secret”);
URI url = URI.create("ws://localhost:7000");
SocketAcceptor responder = RSocketMessageHandler.responder(rSocketRequester.strategies(), new EventStreamHandler());
RSocketRequester requester = rsocketRequesterBuilder
.setupRoute("client-connect")
.setupData(CLIENT_ID)
.setupMetadata(credentials, SIMPLE_AUTH)
.rsocketStrategies(builder ->
builder.encoder(new SimpleAuthenticationEncoder()))
.rsocketConnector(connector -> connector.acceptor(responder))
.websocket(url);
//.connectWebSocket(url) -> old one that works but deprecated
//.block();
requester.rsocket()// -> rsocket() = null why?
.onClose()
.doOnError(error -> log.warn("Connection CLOSED"))
.doFinally(consumer -> log.info("Client DISCONNECTED"))
.subscribe(response -> log.info("client-connect server response {}", response));
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... s-null-why