Package io.leandev.appfuse.audit


package io.leandev.appfuse.audit
  • Class
    Description
    有界、可遺失的事件入口。呼叫者只做快照與 tryLock admission,不執行 I/O 或 logger。 關閉與 batch-start 共用短 gate;已標記 in-flight 的 batch 可以完成。
    與目標 DataSource/pool 相符的連線處置接點。 正常返回必須表示 lease 已從 pool 淘汰,不能以普通 close 歸還;無法確認時必須拋錯。
    實例級稽核開關。FAILED、STOPPING、CLOSED 無法透過 enable 復原。
    稽核事件表 Repository 基底。search 對映 Actuator AuditEventRepository.find (principal / after / type 三參數皆可為 null,null 即不篩該條件)。
    稽核事件持久列的欄位基類——Spring Boot Actuator AuditEvent 的通用持久落點(框架 opt-in 服務)。
    入列前固定的純值快照;不保留可變 payload、Entity 或執行緒 context。
    應用擁有的表/欄位映射。只接受簡單 SQL identifier;事件值永遠以參數綁定。
    安全維運狀態;不含事件、SQL、連線資訊或原始例外。
    應用選用的儲存 adapter;writeBatch 只由非同步工作者呼叫,不得歸還不安全連線。
    只攜帶固定分類,不保留 SQL、原始 throwable 或事件資料。
     
    非同步稽核的有界資源設定;不修改應用擁有的連線池。
    應用提供資料表映射與連線池;寫入直接擁有 lease,永不加入呼叫者交易。 不安全的 lease 必須先移出池;無法確認時保留隔離,禁止一般 close。
    Actuator AuditEventRepository 的持久實作:把稽核事件寫入應用宣告的稽核表,取代消費端 可選的 in-memory ring buffer(易失)。領域無關的框架 opt-in 服務(見 ADR-013「界線修訂 R1」)。 本類保留原同步 JPA 契約;新版 audit feature 改用 AsyncAuditEventRepository 與 storage provider, 不會以本類作非同步寫入失敗時的 fallback。