Partager via


ServiceBusTransactionContext Classe

  • java.lang.Object
    • com.azure.messaging.servicebus.ServiceBusTransactionContext

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
ByteBuffer 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:

ID de transaction

S’applique à