У нас есть приложение весенней загрузки, работающее в PCF, и оно считывает переменные среды PCF (CF_INSTANCE_INDEX, CF_INSTANCE_ADDR, ..) из приложения. На основе этих переменных мы пытаемся реализовать логику планировщика. При запуске этого планировщика значения этих переменных могли измениться. Есть ли способ обновить / перезагрузить bean-компонент, который имеет значения env во время выполнения?
мы использовали аннотацию @RefreshScope
в компоненте свойств конфигурации.
@Configuration
@RefreshScope
public class PcfEnvProperties{
@Value("${CF_INSTANCE_INDEX}")
private int intanceIndex;
@Value("${CF_INSTANCE_ADDR}")
private String intanceAddr;
...
}
и обновите, используя
context.getBean(RefreshScope.class).refresh("PcfEnvProperties");
PcfEnvProperties pcfEnv = context.getBean(PcfEnvProperties.class);
Но он не загружает недавно измененную переменную env в работающее приложение. Есть идеи, как этого добиться?