Class ConfigService
java.lang.Object
br.com.vantroba.bi.transporte.configuracao.ConfigService
Leitura de configurações globais (
bi_configuracao) em runtime, com cache curto.
Padrão de uso pelo backend deste app:
@Inject ConfigService config;
int timeoutMs = config.getInt("slow_query_timeout_ms", 10_000);
Cache: ConcurrentHashMap simples com TTL fixo de 30000L ms. Janela
máxima de staleness entre edição via UI admin e o backend aplicar o valor novo = 30 s.
Esta camada é apenas leitura. Edição vai por
BiConfiguracaoRepository; a UI admin
passa pelo ConfiguracaoAdminService, que bypassa este cache para refletir o estado
fresco do PG na lista.
-
Constructor Summary
ConstructorsConstructorDescriptionConfigService(BiConfiguracaoRepository repository) Cria o serviço injetando o repositório que faz a leitura no PG. -
Method Summary
Modifier and TypeMethodDescriptionbooleanLê o valor da chave comoboolean(exige"true"/"false"em lowercase).getDuration(String id, Duration defaultValue) Lê o valor da chave comoDurationa partir de um inteiro em milissegundos.intLê o valor da chave comoint.Lê o valor da chave comoString.voidInvalida todas as entradas do cache.
-
Constructor Details
-
ConfigService
Cria o serviço injetando o repositório que faz a leitura no PG.- Parameters:
repository- repositório de configurações.
-
-
Method Details
-
getString
-
getInt
Lê o valor da chave comoint. RetornadefaultValuese a chave não existe ou se o valor não parsea como inteiro (loga warning).- Parameters:
id- chave da configuração.defaultValue- valor retornado em chave ausente ou falha de parse.- Returns:
- o valor parseado, ou
defaultValue.
-
getBool
Lê o valor da chave comoboolean(exige"true"/"false"em lowercase). Em chave ausente ou string inesperada retornadefaultValue.- Parameters:
id- chave da configuração.defaultValue- valor retornado em chave ausente ou string fora da convenção.- Returns:
- o valor parseado, ou
defaultValue.
-
getDuration
Lê o valor da chave comoDurationa partir de um inteiro em milissegundos. Útil pra timeouts armazenados comoINT(ex.:slow_query_timeout_ms).- Parameters:
id- chave da configuração.defaultValue- duração retornada em chave ausente ou falha de parse.- Returns:
- a duração resultante, ou
defaultValue.
-
invalidar
public void invalidar()Invalida todas as entradas do cache. Reservado para testes; produção depende do TTL.
-