Используйте tomcat вместо netty для rscket - PullRequest
0 голосов
/ 04 мая 2020

Я хочу использовать сервлеты и фильтры, поэтому я хочу использовать tomcat и вообще сервлет 3.1 для управления связью.

Я попытался сделать следующее:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-rsocket</artifactId>
<exclusions> 
    <exclusion> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-reactor-netty</artifactId> 
    </exclusion> 
</exclusions> 

Это работает, поднимая кота, но я потерял конечную точку! Вот что я делаю, чтобы зарегистрировать его:

spring.rsocket.server:
   transport: websocket
   mapping-path: /topics

и:

@Configuration
 public class RSocketConfig {

@Bean
public Mono<RSocketRequester> rSocketRequester(
        RSocketStrategies rSocketStrategies,
        RSocketProperties rSocketProps) {
    return RSocketRequester.builder()
            .rsocketStrategies(rSocketStrategies)
            .connectWebSocket(getURI(rSocketProps));
}

private URI getURI(RSocketProperties rSocketProps) {
    return URI.create(String.format("ws://localhost:%d%s", 
            rSocketProps.getServer().getPort(), rSocketProps.getServer().getMappingPath()));
}
...