diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/RxNettyWebSocketClient.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/RxNettyWebSocketClient.java index 68e2c8a4307..a98b55e088c 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/RxNettyWebSocketClient.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/socket/client/RxNettyWebSocketClient.java @@ -31,6 +31,7 @@ import io.reactivex.netty.protocol.http.ws.client.WebSocketRequest; import io.reactivex.netty.protocol.http.ws.client.WebSocketResponse; import io.reactivex.netty.threads.RxEventLoopProvider; import reactor.core.publisher.Mono; +import reactor.util.function.Tuple2; import reactor.util.function.Tuples; import rx.Observable; import rx.RxReactiveStreams; @@ -121,12 +122,15 @@ public class RxNettyWebSocketClient extends WebSocketClientSupport implements We return Mono.from(RxReactiveStreams.toPublisher(completion)); } + @SuppressWarnings("cast") private Observable executeInternal(URI url, HttpHeaders headers, WebSocketHandler handler) { String[] protocols = beforeHandshake(url, headers, handler); return createRequest(url, headers, protocols) .flatMap(response -> { Observable conn = response.getWebSocketConnection(); - return Observable.zip(Observable.just(response), conn, Tuples::of); + // following cast is necessary to enable compilation on Eclipse 4.6 + return (Observable, WebSocketConnection>>) + Observable.zip(Observable.just(response), conn, Tuples::of); }) .flatMap(tuple -> { WebSocketResponse response = tuple.getT1();