3

多くの人が通常プロパティ ファイルに入れるアプリケーション プロパティの Web アプリケーションで MBean を使用しています。MBean は永続性のためにデータベースに書き込まれ、データベースから読み取られます。

アプリケーション プロパティを公開する方法を探しています ((m)beans から Spring (例: Spring EL、applicationContext.xml))。多くのアプリケーションでは、PropertyPlaceholderConfigurerResolver が使用されますが、通常の (m) しか持っていないためです。 Bean Bean プロパティを Spring 式言語に公開したいと考えています。

PropertyPlaceholderConfigurerResolver を調べて、プロパティが Spring Expression Language にどのように公開されているかを確認しましたが、その方法がわかりません。

どうにかして、MBean にアクセスするカスタム PlaceholderResolver を作成する必要があると思います。私は何時間もグーグルで検索しているので、ヒントをいただければ幸いです:)

よろしく

4

1 に答える 1

2

私は MBean に詳しくありませんが、アプリケーションはデータベースからアプリケーション設定を取得し、それをアプリケーション コンテキストで使用しています。PropertySourcesPlaceholderConfigurerを拡張しているだけなので、setPropertySources()メソッドを呼び出すだけです。コンストラクターには、次のようなものがあります。

MutablePropertySources propertySources = new MutablePropertySources();
Map<String, Object> propertiesFromDB = getPropertiesFromDB();
MapPropertySource propertySource = new MapPropertySource("propsFromDB", propertiesFromDB);
propertySources.addFirst(propertySource);
setPropertySources(propertySources);
于 2012-08-20T18:47:23.707 に答える