/** * Handler for attached link by a remote receiver * * @param connection connection which the sender link belong to * @param sender sender link created by the underlying Proton library * by which handling communication with remote receiver */ private void processOpenSender(ProtonConnection connection, ProtonSender sender) { log.info("Remote receiver attached {}", sender.getName()); // create and add a new sink to the map SinkBridgeEndpoint<?,?> sink = new AmqpSinkBridgeEndpoint<>(this.vertx, this.bridgeConfigProperties); sink.closeHandler(s -> { this.endpoints.get(connection).getSinks().remove(s); }); sink.open(); this.endpoints.get(connection).getSinks().add(sink); sink.handle(new AmqpEndpoint(sender)); }
logger.debug("client [{}] provided invalid reply-to address", sender.getName()); sender.setCondition(ProtonHelper.condition(AmqpError.INVALID_FIELD, String.format("reply-to address must have the following format %s/<tenant>/<reply-address>", sender.getName(), replyTo); sender.setCondition(ProtonHelper.condition(AmqpError.ILLEGAL_STATE, String.format("reply-to address [%s] is already subscribed", replyTo))); logger.debug("establishing response sender link with client [{}]", sender.getName()); logger.trace("forwarding reply to client [{}]: {}", sender.getName(), message.body().encodePrettily()); sender.getName(), replyConsumer.address());
logger.debug("client [{}] provided invalid reply-to address", sender.getName()); sender.setCondition(ProtonHelper.condition(AmqpError.INVALID_FIELD, String.format("reply-to address must have the following format %s/<tenant>/<reply-address>", sender.getName(), replyTo); sender.setCondition(ProtonHelper.condition(AmqpError.ILLEGAL_STATE, String.format("reply-to address [%s] is already subscribed", replyTo))); logger.debug("establishing response sender link with client [{}]", sender.getName()); logger.trace("forwarding reply to client [{}]: {}", sender.getName(), message.body().encodePrettily()); sender.getName(), replyConsumer.address());