This content originally appeared on DEV Community and was authored by Gilson Silva
1. Como funciona o /actuator/refresh?
O /actuator/refresh recarrega propriedades externas de qualquer origem suportada pelo Spring Cloud (não só ConfigMap). Ou seja, se sua aplicação já busca configs de Portais Managers via PropertySource ou Config Server, o refresh pode funcionar sim para esses valores.
2. Fontes Externas Suportadas
- Spring Cloud Config Server (centraliza configs em Git, S3, etc.)
- AWS Parameter Store e AWS Secrets Manager (via Spring Cloud AWS)
- HashiCorp Vault, Consul, etc.
- Qualquer fonte implementada via
PropertySource
Resumo: Se o Portal Manager está integrado como um PropertySource do Spring Environment, o
/actuator/refreshpode recarregar esses valores.
3. Exemplo: AWS Parameter Store/Secrets Manager
a) Dependências
<!-- Spring Boot Actuator e Cloud -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-starter-aws-parameter-store-config</artifactId>
</dependency>
<!-- ou -->
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-starter-aws-secrets-manager-config</artifactId>
</dependency>
b) Configuração do application.properties
management.endpoints.web.exposure.include=refresh,health,info
spring.config.import=aws-parameterstore:/ # ou aws-secretsmanager:/
c) Uso no código
@Value("${minha.configuracao.sensivel}")
private String segredo;
d) Processo de atualização
- Altere o valor no Portal Manager (ex: AWS Parameter Store).
-
Chame o endpoint
/actuator/refreshna aplicação. - O valor é recarregado sem reiniciar o pod.
4. Observações Importantes
- Nem todos os beans/leitura de config reagem automaticamente ao refresh! Use
@RefreshScopenas classes/beans que dependem desses valores dinâmicos.
@RefreshScope
@RestController
public class MinhaController {
@Value("${minha.configuracao.sensivel}")
private String segredo;
// ...
}
- O
/actuator/refreshnão recarrega configs de pods alheios. Se você tem múltiplos pods, chame em todos (ou utilize Spring Cloud Bus para broadcast). - Segurança: configure autenticação no endpoint
/actuator/refresh! - Para AWS, use as bibliotecas do Spring Cloud AWS.
5. Fluxo Resumido
- Integre o Portal Manager à sua aplicação Spring Boot via PropertySource.
- Use
/actuator/refreshpara recarregar configs em tempo real. - Marque beans críticos como
@RefreshScope.
Conclusão
Você não precisa usar ConfigMap para usar /actuator/refresh! O segredo é garantir que seu Portal Manager está integrado como fonte de propriedades externas no Spring. Após alterar o valor no portal, basta acionar o refresh.
This content originally appeared on DEV Community and was authored by Gilson Silva
Gilson Silva | Sciencx (2025-10-18T02:21:56+00:00) Hot-Reload de Configurações de Portal Manager via /actuator/refresh no Spring Boot. Retrieved from https://www.scien.cx/2025/10/18/hot-reload-de-configuracoes-de-portal-manager-via-actuator-refresh-no-spring-boot/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.