[英]How can I receive environment params from docker-compose.yml on java?
我正在用 Spring Boot 做一個 Java 應用程序,將從 docker-compose.yml 接收一個 cron 調度程序。 在 NetBeans 中,我可以從 application.yml 中讀取值,但是當我在 docker 服務器上部署圖像時,我無法收到此參數。
docker-compose.yml
integracao-spot:
container_name: integracao-spot
image: yuricolen13/integracaospot
restart: always
environment:
jobs_produto_cron: '0 40 9 * * *'
jobs_estoque_cron: '0 42 9 * * *'
jobs_vendas_cron: '0 44 9 * * *'
應用.yml
jobs:
produto:
cron: '0 33 16 * * *'
estoque:
cron: '0 34 16 * * *'
vendas:
cron: '0 35 16 * * *'
EstoqueJob.class
@Component
@EnableScheduling
public class EstoqueJob {
public String diretorioLocal = "";
public String diretorioBucket = "cliente/indiana/indiana/diario/";
public String lojas = "(5,7,11,50,85)";
@Scheduled(cron = "${jobs.estoque.cron:-}")
public void estoqueJob() throws SQLException, IOException {
System.out.println("JOB SCHEDULED");
}
從 docker-compose.yml 讀取參數
嘗試使用以下 application.yml
jobs:
produto:
cron: ${jobs_produto_cron}
estoque:
cron: ${jobs_estoque_cron}
vendas:
cron: ${jobs_vendas_cron}
請記住,根據命名約定的最佳實踐,環境變量必須以大寫字母命名。 前JOBS_PRODUTO_CRON
同樣在您的docker-compose.yml
中,您必須提供帶有-
列表的值。
...
environment:
- jobs_produto_cron: '0 40 9 * * *'
- jobs_estoque_cron: '0 42 9 * * *'
- jobs_vendas_cron: '0 44 9 * * *'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.