Class StorageBackfillService

java.lang.Object
br.com.vantroba.bi.transporte.processamento.StorageBackfillService

@Singleton public class StorageBackfillService extends Object
Backfill dos blobs legados (arquivo_bytes) para o object storage Garage, dirigido pelo ArmazenamentoModo configurado em app.storage.modo:
  • PSQL — não faz nada (tudo permanece no Postgres).
  • PSQL_GARAGE — copia os registros legados pro Garage mantendo arquivo_bytes (as duas cópias coexistem).
  • GARAGE — copia os registros legados pro Garage e limpa arquivo_bytes (cleanup do banco).

Roda no startup; @Order(-100) garante que execute antes do StartupRecoveryService — assim registros PENDENTE legados são migrados (ganham objeto_chave) antes de o recovery os re-enfileirar. Idempotente; a falha de uma linha é logada (e enviada ao GlitchTip) sem abortar as demais.

  • Constructor Details

    • StorageBackfillService

      public StorageBackfillService(ProcessamentoRepository processamentoRepository, br.com.xadm.comum.armazenamento.ArquivoXlsStorage arquivoXlsStorage, ProcessamentoProcessador processador, br.com.xadm.comum.armazenamento.ArmazenamentoConfig cfg)
      Cria o serviço de backfill.
      Parameters:
      processamentoRepository - repositório de acesso aos registros de processamento
      arquivoXlsStorage - storage do binário XLS (object storage Garage)
      processador - executor assíncrono, para re-enfileirar pendentes migrados
      cfg - configuração de armazenamento (app.storage.*)
  • Method Details

    • executarBackfill

      public void executarBackfill()
      Migra as linhas legadas para o Garage conforme o modo. Idempotente; a falha de uma linha é logada e não aborta as demais. No modo PSQL é no-op.