Java Rsocket NoSuchMethodError data (Ljava / lang / Object;) - PullRequest
0 голосов
/ 11 марта 2020

При попытке вызвать данные метода 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);
  }
}

при отладке я вижу данные: (см. изображение)

enter image description here

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();
 }
...