システム変数(たとえば-Djavax.net.ssl.keyStore)をSpring Cloud Config Serverから設定する方法を探しています。これはまさにこの動作(https://stackoverflow.com/a/30199253/1406669)に相互SSL環境。
静的に設定する方法はさまざまです(https://stackoverflow.com/a/36895827/1406669 || https://gist.github.com/unamanic/a7eb0c17b78fb03617cc955b06285b1d)。
私はそれについて気に入らないことは、静的に(起動時に一度設定され、決してリフレッシュされないように)設定し、キーを静的な方法で定義する必要があることです。このようにして、新しいシステム変数を導入する必要があるときに、アプリケーションを再デプロイする必要があります。これは私が避けようとするものです。
誰かがアイデアを持っていますか?Spring Cloud Config Serverからシステム変数を設定する方法
1
A
答えて
0
リフレッシュイベントは、アプリケーションがApplicationListenerを実装することによって聴くことができるApplicationChangeEventを介して機能します。
@Component
public class DynamicSystemProperties implements ApplicationListener<EnvironmentChangeEvent>{
private final Environment env;
@Autowired
public DynamicSystemProperties(Environment env) {
this.env = env;
}
@Override
public void onApplicationEvent(EnvironmentChangeEvent environmentChangeEvent) {
if(env.containsProperty("system.javax.net.ssl.keyStore")) {
String keystore = env.getProperty("system.javax.net.ssl.keyStore");
System.out.println("system.javax.net.ssl.keyStore - " + keystore);
System.getProperties().setProperty("javax.net.ssl.keyStore", keystore);
}
}
}
もhttp://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/env/EnvironmentPostProcessor.html
関連する問題
- 1. Spring Cloud Config Serverの問題
- 2. Spring Cloud Config Server - プレースホルダ・ラベル
- 3. 問題点spring-cloud-configとspring-cloud-bus
- 4. Spring Configサービスでローカル設定プロパティを設定する方法
- 5. Spring Cloud Config Server - セキュリティの詳細
- 6. spring-cloud-config-serverでの暗号化
- 7. Spring Cloud Config:クライアントの起動後に設定を更新する方法は?
- 8. システム変数からSpringプロファイルを設定するには?
- 9. Spring Cloud Config with AWS CodeCommit SSH
- 10. Spring Cloud Configサーバーで複数のアプリケーションの共通設定を含める
- 11. spring-cloud-configサーバ用のSSL鍵の設定
- 12. コンソール引数からconfigパラメータを設定する方法は?
- 13. spring cloud Brixton.RELEASE設定サーバー
- 14. Spring Cloud Dataflow - Stream AppsのEnv変数を設定する
- 15. ローカルファイルシステムとgitリポジトリの両方からのspring cloud configプロパティ
- 16. なぜspring config server clientが失敗しましたか?config serverからconfigを取得しましたか?
- 17. ユニットテストでHoverflyシミュレーションモードがSpring Cloud Config Serverと矛盾します
- 18. Spring Cloud AWS SQSでメッセージハンドラをプログラムで設定する方法は?
- 19. Spring Cloud Consulヘルスチェックの設定
- 20. Spring Cloud Configの優先順位を変更する
- 21. Spring-Cloud-StreamでKafkaに再接続を設定する方法
- 22. Spring Cloud Configを使用したカスタムプロパティローダー
- 23. コントローラーから設定フラグ(config/environments/development.rbから設定)にアクセスする方法は?
- 24. Octopusでシステム変数の値を設定する方法PowerShellからDeploy
- 25. WebSphere 7でlog4j.configurationシステム変数を設定する方法は?
- 26. oracle 12cのWindows 10でシステム変数を設定する方法
- 27. Spring Configサービスを使用するときのZuul設定のリフレッシュ
- 28. Spring Cloud ConfigでカスタムSSH鍵の場所を使用する方法
- 29. SQL Serverのクエリでストアドプロシージャから変数を設定する方法
- 30. Spring Cloud Config + Spring Cloud Bus + RabbitMQ - ローカルのGitリポジトリでクライアントを自動更新しない
このメソッドは、EnvironmentChangeEvent(最初の実行では空)で変更されたプロパティへのアクセスも提供します。プロパティが実際に変更されたときにだけ何かを実行する必要がある場合、これはよりクリーンかもしれません。 –
@ElGohrこれで仕事ができる – Unamanic