ServiceBusTransactionContext Classe
- java.
lang. Object - com.
azure. messaging. servicebus. ServiceBusTransactionContext
- com.
public final class ServiceBusTransactionContext
Représente la transaction dans le service. Cet objet contient simplement l’ID de transaction. Les opérations de gestion des transactions telles que la création d’une transaction, la restauration et l’opération de validation doivent être effectuées à l’aide des clients expéditeurs ou récepteurs.
Une transaction expire au bout de 2 minutes. Le minuteur de transaction démarre lorsque la première opération de la transaction démarre.
Création et utilisation d’une transaction
// This mono creates a transaction and caches the output value, so we can associate operations with the
// transaction. It does not cache the value if it is an error or completes with no items, effectively retrying
// the operation.
Mono<ServiceBusTransactionContext> transactionContext = asyncReceiver.createTransaction()
.cache(value -> Duration.ofMillis(Long.MAX_VALUE),
error -> Duration.ZERO,
() -> Duration.ZERO);
// Dispose of the disposable to cancel the operation.
Disposable disposable = transactionContext.flatMap(transaction -> {
// Process messages and associate operations with the transaction.
Mono<Void> operations = Mono.when(
asyncReceiver.receiveDeferredMessage(sequenceNumber).flatMap(message ->
asyncReceiver.complete(message, new CompleteOptions().setTransactionContext(transaction))),
asyncReceiver.abandon(receivedMessage, new AbandonOptions().setTransactionContext(transaction)));
// Finally, either commit or rollback the transaction once all the operations are associated with it.
return operations.then(asyncReceiver.commitTransaction(transaction));
}).subscribe(unused -> {
}, error -> {
System.err.println("Error occurred processing transaction: " + error);
}, () -> {
System.out.println("Completed transaction");
});
Résumé de la méthode
Modificateur et type | Méthode et description |
---|---|
Byte |
getTransactionId()
Obtient l’ID de transaction. |
Méthodes héritées de java.lang.Object
Détails de la méthode
getTransactionId
public ByteBuffer getTransactionId()
Obtient l’ID de transaction.
Returns:
S’applique à
Azure SDK for Java