diff --git a/gravitee-exchange-api/src/main/java/io/gravitee/exchange/api/controller/ControllerCommandHandlersFactory.java b/gravitee-exchange-api/src/main/java/io/gravitee/exchange/api/controller/ControllerCommandHandlersFactory.java index d2a26bd..45d60e3 100644 --- a/gravitee-exchange-api/src/main/java/io/gravitee/exchange/api/controller/ControllerCommandHandlersFactory.java +++ b/gravitee-exchange-api/src/main/java/io/gravitee/exchange/api/controller/ControllerCommandHandlersFactory.java @@ -40,19 +40,23 @@ public interface ControllerCommandHandlersFactory { * @param controllerCommandContext the command context * @return a list of command decorators */ - List, ? extends Command, ? extends Reply>> buildCommandAdapters( + default List, ? extends Command, ? extends Reply>> buildCommandAdapters( final ControllerCommandContext controllerCommandContext, final ProtocolVersion protocolVersion - ); + ) { + return List.of(); + } /** - * Build a list of command decorators dedicated to the specified context. + * Build a list of reply decorators dedicated to the specified context. * * @param controllerCommandContext the command context - * @return a list of command decorators + * @return a list of reply decorators */ - List, ? extends Reply>> buildReplyAdapters( + default List, ? extends Reply>> buildReplyAdapters( final ControllerCommandContext controllerCommandContext, final ProtocolVersion protocolVersion - ); + ) { + return List.of(); + } } diff --git a/gravitee-exchange-connector/gravitee-exchange-connector-core/src/main/java/io/gravitee/exchange/connector/core/DefaultExchangeConnectorManager.java b/gravitee-exchange-connector/gravitee-exchange-connector-core/src/main/java/io/gravitee/exchange/connector/core/DefaultExchangeConnectorManager.java index 25b1aad..77ba3ff 100644 --- a/gravitee-exchange-connector/gravitee-exchange-connector-core/src/main/java/io/gravitee/exchange/connector/core/DefaultExchangeConnectorManager.java +++ b/gravitee-exchange-connector/gravitee-exchange-connector-core/src/main/java/io/gravitee/exchange/connector/core/DefaultExchangeConnectorManager.java @@ -68,7 +68,9 @@ public Completable register(final ExchangeConnector exchangeConnector) { public Completable unregister(final ExchangeConnector exchangeConnector) { return Completable .defer(() -> { - exchangeConnectors.remove(exchangeConnector.targetId(), exchangeConnector); + if (exchangeConnector.targetId() != null) { + exchangeConnectors.remove(exchangeConnector.targetId(), exchangeConnector); + } return exchangeConnector.close(); }) .doOnComplete(() -> log.debug("Connector successfully unregister for target [{}]", exchangeConnector.targetId())) diff --git a/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/WebSocketExchangeConnector.java b/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/WebSocketExchangeConnector.java index 657cad3..18392f0 100644 --- a/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/WebSocketExchangeConnector.java +++ b/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/WebSocketExchangeConnector.java @@ -92,7 +92,7 @@ public Completable initialize() { if (err instanceof WebSocketConnectorException connectorException && connectorException.isRetryable()) { return Flowable.timer(5000, TimeUnit.MILLISECONDS); } - log.error("Unable to connect to Exchange Connect Endpoint, stop retrying.", err); + log.error("Unable to connect to Exchange Connect Endpoint, stop retrying."); return Flowable.error(err); }) ); diff --git a/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/channel/WebSocketConnectorChannel.java b/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/channel/WebSocketConnectorChannel.java index cd9e110..8d5d024 100644 --- a/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/channel/WebSocketConnectorChannel.java +++ b/gravitee-exchange-connector/gravitee-exchange-connector-websocket/src/main/java/io/gravitee/exchange/connector/websocket/channel/WebSocketConnectorChannel.java @@ -16,7 +16,6 @@ package io.gravitee.exchange.connector.websocket.channel; import io.gravitee.exchange.api.channel.exception.ChannelException; -import io.gravitee.exchange.api.channel.exception.ChannelInitializationException; import io.gravitee.exchange.api.command.Command; import io.gravitee.exchange.api.command.CommandAdapter; import io.gravitee.exchange.api.command.CommandHandler; @@ -75,7 +74,10 @@ public Completable initialize() { this.targetId = reply.getPayload().getTargetId(); this.active = true; } else { - throw new ChannelInitializationException("Unable to parse hello reply payload"); + throw new WebSocketConnectorException( + String.format("Hello handshake failed: %s", reply.getErrorDetails()), + false + ); } }); })