1

プロパティファイルではなく、Webサーバーから読み取るようにSpringPropertyPlaceholderConfigurerを拡張/置換したいと思います。

少し背景:

私はプロジェクトに取り組んでいますが、ユーザーシステムにあるプロパティファイルの数が少し扱いに​​くくなっていることがわかりました。これらのファイルを「構成サーバー」に置き換えます。このサーバーは、基本的なキーと値のペアを保存し、ユーザーがアプリを起動したときにそれらを提供します。

あまりにも多くの変更を加えないようにするために、プロパティを管理するためのまったく新しい方法を実装するのではなく、PropertyPlaceholderConfigurerがプロパティを検索する方法を変更したいと思います。したがって、起動時に-SpringはURLからすべてのプロパティを読み取り、実際のファイルの場合と同じ方法でこれらをSpringconfigxmlにフィードします。

ボーナス!

プロパティが変更されたときにのみサーバーからプロパティが再ロードされる方法を誰かが知っている場合は、ボーナスポイントを取得します(ボーナスポイントを割り当てる機能があるかどうかはわかりませんが、試してみます!)。それは、「あまり労力がかからないのであれば」解決策になるでしょう。

4

1 に答える 1

2

Spring PropertyPlaceholderConfigurer(PPC)はすでにResourceインターフェイスを使用して、プロパティを読み取る場所を指定しています(PropertiesLoaderSupportから継承されたsetLocation(Resource)メソッドを使用)。

と呼ばれるこのインターフェースの実装クラスがあり、URLResourceおそらくあなたが望むことをします。PPCを作成し、locationこのタイプのBeanを使用してプロパティを設定するだけで、ファイルではなくURLからプロパティをロードできます。このクラスはfile://タイプURLもサポートしているため、使用するURLに応じて、オンとオフラインのプロパティの読み込みを切り替えることができます。

于 2012-05-30T09:39:34.770 に答える