MessagingFactory(final ConnectionStringBuilder builder, final RetryPolicy retryPolicy, final ScheduledExecutorService executor, final ReactorFactory reactorFactory) { super("MessagingFactory".concat(StringUtil.getRandomString()), null, executor); this.hostName = builder.getEndpoint().getHost(); this.reactorFactory = reactorFactory; this.operationTimeout = builder.getOperationTimeout(); this.retryPolicy = retryPolicy; this.registeredLinks = new LinkedList<>(); this.reactorLock = new Object(); this.connectionHandler = ConnectionHandler.create(builder.getTransportType(), this); this.cbsChannelCreateLock = new Object(); this.mgmtChannelCreateLock = new Object(); this.tokenProvider = builder.getSharedAccessSignature() == null ? new SharedAccessSignatureTokenProvider(builder.getSasKeyName(), builder.getSasKey()) : new SharedAccessSignatureTokenProvider(builder.getSharedAccessSignature()); this.closeTask = new CompletableFuture<>(); }