<ブローカ> activemq.xmlファイルの構成部分内に自分自身のプロパティを参照することはできますか?<broker>の参照プロパティactivemq.xml設定の一部
"env"スクリプトのACTIVEMQ_OPTSを変更してプロパティ値を設定しています。以下のような何か追加:
ACTIVEMQ_OPTS="${ACTIVEMQ_OPTS} -Dmy.property=MyValue"
をそして、私は私のactivemq.xmlファイルの先頭に次き:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
<!-- Allows us to use system properties as variables in this configuration file -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>file:${activemq.conf}/credentials.properties</value>
</property>
</bean>
<豆の設定> activemq.xmlファイルにすることはで私自身の性質で正常に動作します「価値」、例えばこれは正常に動作します:
<bean id="myBean" class="MyClass">
<property name="someProperty" value="${my.property}"/>
</bean>
と$ {my.property}が完全に解決された...しかし、私はちょうどその時<ブローカー>要素またはそれの一つだ内部解決するために、私のプロパティを取得する方法を見つけ出すことはできません子(persistenceAdapterのような)例えば
は、次のような場合には...
<persistenceAdapter>
<replicatedLevelDB directory="${activemq.data}/leveldb" zkAddress="${my.zk.address}" zkPath="/activemq" bind="tcp://0.0.0.0:0" weight="${my.weight}"/>
</persistenceAdapter>
... $ {} activemq.dataプロパティが解決された...しかし、私はいずれかを取得する方法を見つけ出すように見えることはできません私の自身のプロパティの<ブローカの中で解決するために> activemq.xml設定ファイルの要素...私はちょうど '$ {my.weight}'が有効な番号ではありません(これは侮辱のようなものです、あなたがそれについて考えるなら;-)
私はPropertyPlaceholderConfigurerというBeanを表示しています。これは、別のBeanの「値」属性で使用するときに解決する$ {my.property}を取得する方法です。 問題は、activemq.xml設定ファイルの<ブローカ>要素の内部でプロパティが解決しないということです。さて、まったく真実ではない... $ {activemq。*}プロパティは解決しますが、私は解決しません。私は "activemq"で私の財産名を始めるトリックを試みました。 (例:-Dactivemq.my.property = foo)、<ブローカーの中の$ {activemq.my.property}を参照してください。しかし、それは動作しませんでした。 – Adam
私の質問のタイトルを編集して追加しました私がいくつかの説明のために使用しているPropertyPlaceholderConifgurer Bean – Adam