При попытке вызвать данные метода RequestSpe c из Rsocket у меня возникает следующая ошибка:
org.springframework.messaging.rsocket.RSocketRequester$RequestSpec.data(Ljava/lang/Object;)Lorg/springframework/messaging/rsocket/RSocketRequester$RequestSpec;
java.lang.NoSuchMethodError: org.springframework.messaging.rsocket.RSocketRequester$RequestSpec.data(Ljava/lang/Object;)Lorg/springframework/messaging/rsocket/RSocketRequester$RequestSpec;
это мой класс
import hps.pwc.dataapi.contract.api.dto.P7SpecTransLimits;
import hps.pwc.sdk.rpc.annotation.EnableRpcClient;
import java.lang.Override;
import org.springframework.context.annotation.Primary;
import org.springframework.messaging.rsocket.RSocketRequester;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
@Service
@EnableRpcClient
@Primary
public class FooImpl implements Foo{
private final RSocketRequester rSocketRequester;
public FooImpl(RSocketRequester rSocketRequester) {
this.rSocketRequester = rSocketRequester;
}
@Override
public Flux<Bar> getBar(Bar bar) {
return rSocketRequester.route("getBar").data(bar).retrieveFlux(Bar.class);
}
}
при отладке я вижу данные: (см. изображение)
PS: аннотация EnableRpcClient загружает всю конфигурацию для rsocket
@Configuration
public class RsocketClientConfiguration {
@Value("7000")
private Integer rsocketPort;
@Value("localhost")
private String rsocketHost;
@Bean
@Profile("!test")
RSocketRequester rSocketRequester(RSocketStrategies rSocketStrategies) {
return RSocketRequester.builder()
.rsocketStrategies(rSocketStrategies)
.connectTcp(rsocketHost, rsocketPort)
.retry(10)
.block();
}
@Bean
@Profile("test")
RSocketRequester mockrequester() {
return new RSocketRequesterMock();
}