Class NoOpFileJournal

java.lang.Object
io.leandev.appfuse.file.tx.NoOpFileJournal
All Implemented Interfaces:
FileJournal

public final class NoOpFileJournal extends Object implements FileJournal

不做任何事的 FileJournal

用於兩種情境:

  • 交易對齊的後端(Database):本身隨交易 rollback 復原,不會產生孤兒,無需日誌。
  • 關閉日誌:在 TransactionAwareFileStorage 上只要交易補償/延後刪除、不要稽核軌跡時。

補償與延後刪除的正確性由 TransactionAwareFileStorage 的交易 hook 保證,與是否寫日誌無關; 日誌只影響「崩潰殘留的可對帳性」。

  • Field Details

  • Constructor Details

    • NoOpFileJournal

      public NoOpFileJournal()
  • Method Details

    • record

      public void record(JournalEntry entry)
      Description copied from interface: FileJournal
      記錄一筆檔案交易事件(append-only,不得拋出例外中斷業務流程)
      Specified by:
      record in interface FileJournal
      Parameters:
      entry - 事件
    • readEntries

      public List<JournalEntry> readEntries(String partition)
      Description copied from interface: FileJournal
      讀取指定 partition 的所有事件,供 FileOrphanSweepTask 對帳使用
      Specified by:
      readEntries in interface FileJournal
      Parameters:
      partition - 儲存分區鍵
      Returns:
      事件清單(依時間排序;無資料時回傳空清單)
    • partitions

      public List<String> partitions()
      Description copied from interface: FileJournal
      列出所有有日誌的 partition,供 FileOrphanSweepTask 逐區對帳
      Specified by:
      partitions in interface FileJournal
      Returns:
      partition 清單(無資料時回傳空清單)