MessgeRenewLockLoop(IMessageReceiver innerReceiver, MessageAndSessionPump messageAndSessionPump, IMessage message, Instant stopRenewalAt) { super(); this.innerReceiver = innerReceiver; this.messageAndSessionPump = messageAndSessionPump; this.message = message; this.stopRenewalAt = stopRenewalAt; this.messageIdentifier = String.format("message with locktoken : %s, sequence number : %s", this.message.getLockToken(), this.message.getSequenceNumber()); }
int messageIndex = 0; for (IMessage message : messages) { UUID lockToken = message.getLockToken(); if (lockToken.equals(ClientConstants.ZEROLOCKTOKEN)) { throw new UnsupportedOperationException("Lock of a message received in ReceiveAndDelete mode cannot be renewed.");
@Override public CompletableFuture<Void> onMessageAsync(IMessage serviceBusMessage) { Map<String, Object> headers = new HashMap<>(); Checkpointer checkpointer = new AzureCheckpointer(() -> this.success(serviceBusMessage.getLockToken()), () -> this.failure(serviceBusMessage.getLockToken())); if (checkpointConfig.getCheckpointMode() == CheckpointMode.MANUAL) { headers.put(AzureHeaders.CHECKPOINTER, checkpointer); } Message<U> message = messageConverter.toMessage(serviceBusMessage, new MessageHeaders(headers), payloadType); consumer.accept(message); if (checkpointConfig.getCheckpointMode() == CheckpointMode.RECORD) { return checkpointer.success().whenComplete((v, t) -> checkpointHandler(message, t)); } return CompletableFuture.completedFuture(null); }
@Override public CompletableFuture<Void> onMessageAsync(IMessage serviceBusMessage) { Map<String, Object> headers = new HashMap<>(); Checkpointer checkpointer = new AzureCheckpointer(() -> this.success(serviceBusMessage.getLockToken()), () -> this.failure(serviceBusMessage.getLockToken())); if (checkpointConfig.getCheckpointMode() == CheckpointMode.MANUAL) { headers.put(AzureHeaders.CHECKPOINTER, checkpointer); } Message<U> message = messageConverter.toMessage(serviceBusMessage, new MessageHeaders(headers), payloadType); consumer.accept(message); if (checkpointConfig.getCheckpointMode() == CheckpointMode.RECORD) { return checkpointer.success().whenComplete((v, t) -> checkpointHandler(message, t)); } return CompletableFuture.completedFuture(null); }
if (this.messageHandlerOptions.isAutoComplete()) { TRACE_LOGGER.debug("Completing message with sequence number '{}'", message.getSequenceNumber()); updateDispositionFuture = this.innerReceiver.completeAsync(message.getLockToken()); } else { updateDispositionFuture = CompletableFuture.completedFuture(null); updateDispositionFuture = this.innerReceiver.abandonAsync(message.getLockToken());
if (this.sessionHandlerOptions.isAutoComplete()) { TRACE_LOGGER.debug("Completing message with sequence number '{}'", message.getSequenceNumber()); updateDispositionFuture = session.completeAsync(message.getLockToken()); } else { updateDispositionFuture = CompletableFuture.completedFuture(null); updateDispositionFuture = session.abandonAsync(message.getLockToken());