Menu Close
11.5.3. PropertySource reload の例
以下の例では、リロード機能が有効になっている場合の動作について説明します。
手順
リロード機能がデフォルト設定 (refresh モード) で有効になっていることを仮定します。ConfigMap の変更時に以下の Beanが更新されます。
@Configuration @ConfigurationProperties(prefix = "bean") public class MyConfig { private String message = "a message that can be changed live"; // getter and setters }
変更の詳細を確認するには、以下のようにメッセージを定期的に出力する別の Bean を作成します。
@Component public class MyBean { @Autowired private MyConfig config; @Scheduled(fixedDelay = 5000) public void hello() { System.out.println("The message is: " + config.getMessage()); } }
以下のように ConfigMap を使用すると、アプリケーションによって出力されるメッセージを変更できます。
apiVersion: v1 kind: ConfigMap metadata: name: reload-example data: application.properties: |- bean.message=Hello World!
Pod に関連する ConfigMap の
bean.message
という名前のプロパティーに変更を加えると、プログラムの出力に反映されます。