2016-04-10 35 views
5

すべてのサーバー環境で共通のstandalone-full.xmlファイルを設定しているため、ハードコードする代わりに、データベースのURLなどの変数を設定する必要があります。Wildfly設定ファイルで変数を使用する方法は?

構成ファイルに1つのようなセクションは次のようになります。

<datasource jta="true" jndi-name="java:/somename" pool-name="somename" enabled="true" use-ccm="false"> 
       <connection-url>jdbc:mysql://${SOMENAME_DB_URL}</connection-url> 
       <driver-class>com.mysql.jdbc.Driver</driver-class> 
       <driver>mysql</driver> 
       <pool> 
        <min-pool-size>5</min-pool-size> 
        <max-pool-size>15</max-pool-size> 
       </pool> 
       <security> 
        <user-name>${DB_USERNAME}</user-name> 
        <password>${DB_PASSWORD}</password> 
       </security> 
       <validation> 
        <validate-on-match>false</validate-on-match> 
        <background-validation>false</background-validation> 
       </validation> 
       <statement> 
        <share-prepared-statements>false</share-prepared-statements> 
       </statement> 
      </datasource> 

ただし、この設定を使用してサーバを起動する時に、それを提出単にそのようなすべてのセクションのために「という表現を解決することができません」というエラーがスローされます。

私はset DB_USERNAME=mydbusernameを使用して/bin/etc/environmentでは、だけでなく、.jbossclircファイル内の変数を入れてみましたが、無駄にしました。

このように、私はどのように適切なドキュメントを見つけることができなかったので、私は暗闇の中でちょっと迷っています。私はそれが実際に可能かどうかも分かりません。どんな助けでも大歓迎です。

答えて

4

環境変数の代わりにJavaシステムプロパティを使用する必要があります。

また、これらのプロパティを-D引数としてstandalone.shに渡すこともできます。

bin/standalone.sh -DDB_USERNAME=me -DDB_PASSWORD=secret 

代わりに、プロパティファイルにあなたの特性を定義し、-Pオプションを指定して起動スクリプトにそれを渡すことができます。

bin/standalone.sh -P database.properties 
0

Wildflyの標準プロパティをオーバーライドする方法はありますか? 例jboss.http.portの一つ

<socket-binding name="http" port="${jboss.http.port:8080}"/> 

standalone.xmlからpossibiltyは standalone.sh -Djboss.http.port=8081を呼び出すことです。次に、Wildfly httpポートは 8081になります。

これは、独自の変数でも機能するはずです。

関連する問題