Package bitronix.tm.journal
Interface Journal
- All Superinterfaces:
Service
- All Known Implementing Classes:
DiskJournal,NullJournal
Transaction logs journal implementations must implement this interface to provide functionality required by the
transaction manager.
- Author:
- lorban
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close this journal and release all underlying resources.Collect all dangling records of the journal, ie: COMMITTING records with no corresponding COMMITTED record.voidforce()Force journal to synchronize with permanent storage.voidLog a new transaction status to journal.voidopen()Open the journal.
-
Method Details
-
log
Log a new transaction status to journal. Note that the journal will not check the flow of the transactions. If you call this method with erroneous data, it will be added to the journal as-is.- Parameters:
status- transaction status to log.gtrid- GTRID of the transaction.uniqueNames- unique names of the RecoverableXAResourceProducers participating in the transaction.- Throws:
IOException- if an I/O error occurs.
-
open
Open the journal. Integrity should be checked and an exception should be thrown in case the journal is corrupt.- Throws:
IOException- if an I/O error occurs.
-
close
Close this journal and release all underlying resources.- Throws:
IOException- if an I/O error occurs.
-
force
Force journal to synchronize with permanent storage.- Throws:
IOException- if an I/O error occurs.
-
collectDanglingRecords
Collect all dangling records of the journal, ie: COMMITTING records with no corresponding COMMITTED record.- Returns:
- a Map using Uid objects GTRID as key and
TransactionLogRecordas value - Throws:
IOException- if an I/O error occurs.
-