commitTransaction method

Future<void> commitTransaction({
  1. required String transactionId,
  2. bool requestReceipt = false,
})

Commits a transaction

Implementation

Future<void> commitTransaction({
  required String transactionId,
  bool requestReceipt = false,
}) async {
  _ensureConnected();

  String? receiptId;
  if (requestReceipt) {
    receiptId = _generateReceiptId();
  }

  final commitFrame = StompTransactionFrameFactory.commit(
    transactionId: transactionId,
    receipt: receiptId,
  );

  await _sendFrame(commitFrame);

  // Wait for receipt if requested
  if (receiptId != null) {
    await _waitForReceipt(receiptId, _timeout);
  }

  // Commit transaction
  _transactionManager.commitTransaction(transactionId);
  _logger.info('Committed transaction $transactionId');
}