Class MongoAdminServiceImpl
java.lang.Object
br.com.vantroba.bi.transporte.powersync.MongoAdminServiceImpl
- All Implemented Interfaces:
MongoAdminService
@Singleton
@Requires(property="powersync.mongodb.uri",
pattern=".+")
public class MongoAdminServiceImpl
extends Object
implements MongoAdminService
Implementação real de
MongoAdminService usando mongodb-driver-sync.
Ativa quando powersync.mongodb.uri está set (não-vazio). Quando vazio, o
MongoAdminServiceStub assume — reset continua executável em dev sem Mongo.
Pool de MongoClient: 1 instância por URI distinta, reutilizada entre resets.
Cliente é thread-safe e mantém connection pool interno. Fechamento em shutdown().
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlongcountBucketData(String uri, String dbName) Conta os documentos da collectionbucket_data— o histórico de operações acumulado do PowerSync, métrica de "checkpoints" antes/depois do reset.longdatabaseSizeBytes(String uri, String dbName) Tamanho em bytes do database (viadbStats.dataSize).detectActiveSlotName(String uri, String dbName) Descobre oslot_nameativo lendo a metadata do PowerSync no próprio Mongo (collectionsync_rules, doc comstate='ACTIVE'e maior_id).dropDatabase(String uri, String dbName) Dropa o database.
-
Constructor Details
-
MongoAdminServiceImpl
public MongoAdminServiceImpl()Construtor padrão.
-
-
Method Details
-
databaseSizeBytes
Description copied from interface:MongoAdminServiceTamanho em bytes do database (viadbStats.dataSize).- Specified by:
databaseSizeBytesin interfaceMongoAdminService- Parameters:
uri- connection string MongoDB (vazia → 0)dbName- nome do database- Returns:
- bytes; 0 se URI ausente
-
dropDatabase
Description copied from interface:MongoAdminServiceDropa o database. Operação irreversível.- Specified by:
dropDatabasein interfaceMongoAdminService- Parameters:
uri- connection string MongoDBdbName- nome do database a ser dropado- Returns:
- nome do database dropado (mesmo recebido), para gravar em audit
-
detectActiveSlotName
Description copied from interface:MongoAdminServiceDescobre oslot_nameativo lendo a metadata do PowerSync no próprio Mongo (collectionsync_rules, doc comstate='ACTIVE'e maior_id).Permite que o reset seja chamado sem hardcodar
POWERSYNC_SLOT— o pareamento Mongo↔slot é descoberto em runtime, evitando confusão em PGs com múltiplos slots de PR builds e ambientes simultâneos.- Specified by:
detectActiveSlotNamein interfaceMongoAdminService- Parameters:
uri- connection string MongoDBdbName- nome do database onde está a metadata do PowerSync- Returns:
- nome do slot atual; nunca
null— se não houver doc ACTIVE, lança.
-
countBucketData
Description copied from interface:MongoAdminServiceConta os documentos da collectionbucket_data— o histórico de operações acumulado do PowerSync, métrica de "checkpoints" antes/depois do reset.- Specified by:
countBucketDatain interfaceMongoAdminService- Parameters:
uri- connection string MongoDB (vazia → 0)dbName- nome do database- Returns:
- número de documentos; 0 se URI ausente ou collection inexistente
-