@Override public CompletableFuture<Void> sendAsync(IMessage message, TransactionContext transaction) { return this.sender.sendAsync(message, transaction); }
@Override public void cancelScheduledMessage(long sequenceNumber) throws InterruptedException, ServiceBusException { this.sender.cancelScheduledMessage(sequenceNumber); }
@Override public CompletableFuture<Void> cancelScheduledMessageAsync(long sequenceNumber) { return this.sender.cancelScheduledMessageAsync(sequenceNumber); }
@Override public CompletableFuture<Void> sendBatchAsync(Collection<? extends IMessage> messages) { return this.sender.sendBatchAsync(messages); }
@Override public CompletableFuture<Long> scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction) { return this.sender.scheduleMessageAsync(message, scheduledEnqueueTimeUtc, transaction); }
@Override public void send(IMessage message) throws InterruptedException, ServiceBusException { this.sender.send(message); }
@Override public void sendBatch(Collection<? extends IMessage> messages) throws InterruptedException, ServiceBusException { this.sender.sendBatch(messages); }
@Override public long scheduleMessage(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction) throws InterruptedException, ServiceBusException { return this.sender.scheduleMessage(message, scheduledEnqueueTimeUtc, transaction); }
@Override protected CompletableFuture<Void> onClose() { return this.sender.closeAsync(); }
@Override public String getEntityPath() { return this.sender.getEntityPath(); }
@Override public CompletableFuture<Void> sendBatchAsync(Collection<? extends IMessage> messages, TransactionContext transaction) { return this.sender.sendBatchAsync(messages, transaction); }
@Override public CompletableFuture<Long> scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc) { return this.sender.scheduleMessageAsync(message, scheduledEnqueueTimeUtc); }
@Override public void send(IMessage message, TransactionContext transaction) throws InterruptedException, ServiceBusException { this.sender.send(message, transaction); }
@Override public void sendBatch(Collection<? extends IMessage> messages, TransactionContext transaction) throws InterruptedException, ServiceBusException { this.sender.sendBatch(messages, transaction); }
@Override public long scheduleMessage(IMessage message, Instant scheduledEnqueueTimeUtc) throws InterruptedException, ServiceBusException { return this.sender.scheduleMessage(message, scheduledEnqueueTimeUtc); }
private CompletableFuture<Void> closeSenderAsync() { synchronized (this.senderCreationLock) { if(this.senderCreationFuture != null) { CompletableFuture<Void> senderCloseFuture = this.senderCreationFuture.thenComposeAsync((v) -> { return this.sender.closeAsync(); }, MessagingFactory.INTERNAL_THREAD_POOL); this.senderCreationFuture = null; return senderCloseFuture; } else { return CompletableFuture.completedFuture(null); } } }
@Override public CompletableFuture<Void> sendAsync(IMessage message) { return this.sender.sendAsync(message); }
@Override public CompletableFuture<Void> sendBatchAsync(Collection<? extends IMessage> messages, TransactionContext transaction) { return this.createSenderAsync().thenComposeAsync((v) -> { return this.sender.sendBatchAsync(messages, transaction); }, MessagingFactory.INTERNAL_THREAD_POOL); }
@Override public CompletableFuture<Long> scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction) { return this.createSenderAsync().thenComposeAsync((v) -> { return this.sender.scheduleMessageAsync(message, scheduledEnqueueTimeUtc, transaction); }, MessagingFactory.INTERNAL_THREAD_POOL); }
@Override public CompletableFuture<Void> cancelScheduledMessageAsync(long sequenceNumber) { return this.createSenderAsync().thenComposeAsync((v) -> { return this.sender.cancelScheduledMessageAsync(sequenceNumber); }, MessagingFactory.INTERNAL_THREAD_POOL); }