を見てみたいことがありオプション
-M-Dmule.country=your-value
で構内ミュールサーバー上で実行することができます教えてください
私たちは、同じアプリケーションの複数のバージョンを並行して実行する必要があったのと同様の状況でした。このために使用したソリューションは、プロパティファイルをビルドと共にパッケージ化し、動的要素(環境ベース)を持たないようにすることでした。たとえば、この場合、httpdemo.usa.propertiesを構築し、それをアプリケーションとともにパッケージ化します。 Jenkinsを使用してビルドやリリースを管理して以来、これはかなり簡単でした。ビルドがリリースされると、特定の "国"関連のすべてのプロパティを含むJenkinsの設定ファイルを参照します。この国をビルド定義のパラメータとして渡すこともできます。カスタムMavenプラグインを使用して、アプリケーション内のプロパティファイルをJenkinsプロパティファイルの新しいプロパティに置き換えます。
問題のもう1つの解決策は、使用したい "国"固有のアプリケーションに命名規則に従い、春の豆を使用してプロパティをフェッチすることです。たとえば、
<spring:beans>
<spring:bean id="CountryProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<spring:property name="singleton" value="true"/>
<spring:property name="location" value="${app.name}.properties"/>
</spring:bean>
</spring:beans>
<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="5000" doc:name="HTTP Listener Configuration"/>
<flow name="dynamic_propsFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/test" doc:name="HTTP"/>
<logger message="#[app.registry.CountryProperties['country.full.name']]" level="INFO" doc:name="Logger"/>
</flow>
私の性質は以下のようなものです:
File - dynamic_props_usa.properties
population=10
country.full.name=united.states.of.america
File - dynamic_props_mexico.properties
population=100
country.full.name=mexico
$ {app.name}はあなたに展開されているアプリの名前を与えます。私のアプリがdynamic_props_usaという名前の場合、それはdynamic_props_usa.propertiesを参照します。それがdynamic_props_mexicoの場合は、dynamic_props_mexico.propertiesを参照します。お役に立てれば!
、パッケージ内のファイルの参照を持っており、以下のように実行時に必要に応じて、サーバと同じを上書きするオプションを持っているあなたが与えられたいずれかのあまり引用符が含まれていました例をコンテキストプロパティのプレースホルダを定義します。 StackOverflowのために追加した場合は引用符が少なすぎます。コードの書式を編集して修正してください。 – techraf