問題タブ [apache-commons-config]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - データベースおよびプロパティからの Spring 構成プロパティ
私は同様の質問をしましたが、回答に基づいて、私が求めているものを説明するのに悪い仕事をしました. プロパティ ファイルからプロパティを読み込む spring 4 webapp があります。これらのプロパティは、Spring の "${proper.name"} 式を介して、またいくつかのクラスにプロパティ オブジェクトを注入することによって消費します。
ほとんどのプロパティをデータベース テーブルに移動し、再読み込みできるようにします。ただし、いくつかはローカル プロパティにとどまる必要があり、データベース設定をオーバーライドする可能性があります。これらも、アプリの実行後に動的にロードする必要があります。
特定の Bean が注入されると、再ロードされないことはわかっていますが、それは私には関係ありません。それを処理するのはそのモジュール次第です。しかし、私は自分が望む行動を得るのに苦労しています。特に、デュアルソースとオーバーライドを取得するために、apache commons 構成から AbstractConfiguration を実装しました。ただし、プロパティ オブジェクトの注入には機能しますが、「${prop.name}」でロードされた式はまったく機能しません。
それらを機能させるにはどうすればよいですか?間違ったことをオーバーライドしましたか?それは単なる設定の詳細ですか?
spring - Spring で Commons Configuration 2 を PropertySource として使用する
Commons Configuration 2.0 が出ました。Commons Configuration 1.0 には、Spring の PropertyPlaceholderConfigurer で Commons Configuration を直接使用できる Spring モジュール ファクトリ Bean (org.springmodules.commons.configuration.CommonsConfigurationFactoryBean) がありました。これはもはや維持されていないため、問題は Commons Configuration 2.0 でこれを行う方法です。
もちろん、既存の Spring モジュールのソース コードをプロジェクトにコピーして、2.0 に移行することは可能です。Spring が YAML を提供していることは知っていますが、それでも Commons Configuration である必要があります (既存の XML 構成ファイルは影響を受けません)。
gradle - Gradle は、依存関係のあるプラグインを使用して ClassNotFoundException をスローします
ClassNotFoundException
同じルート フォルダー内のプロジェクトでコンパイルの依存関係を持つ Gradle プラグインを使用すると、s が発生します。
ディレクトリ構造はかなり単純で、プラグインとそれを使用するプロジェクトがあります。
- 根
buildSrc
demo-project
build.gradle
インは次のbuildSrc
とおりです。
そして、プラグイン自体は正しくビルドされます。
プラグインを my に適用すると、依存関係が見つからないためdemo-project
、パーツが失敗します(プラグインが実行され、問題のある行で失敗します)。afterEvaluate
commons-configuration2
私の質問を完了するために、これbuild.gradle
が私の中にありますdemo-project
:
これは既知の問題ですか、それとも使用できる回避策はありますか?
カスタム gradle プラグインへの依存関係の追加に関連している可能性があります。
編集:別の依存関係を指定しようとすると、機能します。犯人PropertiesConfiguration
クラスのロード方法の問題のようです。完全なスタック トレースは次のとおりです。
spring - Commons Configuration 2 Spring Bean のリロード
Configuration オブジェクトを Spring @Bean として公開するときに、Commons Configuration v1 のリロード機能を追加のコーディングなしで使用してきました。これは、構成にアクセスするたびにリロード チェックが実行されるためです。
現在、Commons Configuration v2 に移行しようとしていますが、リロードはビルダーによって作成された新しい構成オブジェクトでのみ有効であることを読みました。
言い換えれば、v1では次のようなことができます
次に、構成を注入します
そして、(必要に応じて)リロードすることを期待します
今、私は電話する必要があります
新しい構成が必要になるたびにもう一度。
では、どうすればいいのでしょうか?多くの @Controllers に既に注入されている @Bean を「リフレッシュ」するのに、Spring の何かが役立ちますか? 自動である必要はありません。管理コンソールに「リロード」ボタンを実装して、それをトリガーすることができます。