0

ローカル環境では、プロパティ ファイルでいくつかの接続環境プロパティを構成し、それらを context:property-placeholder で使用できます。例えば:

<context:property-placeholder location="classpath:resources-local.properties"/>
<smtp:endpoint host="${smtp.host}" port="${smtp.port}" user="${smtp.user}"            password="${smtp.password}" name="NotificationEmail" doc:name="SMTP" to="${smtp.to}"        from="${smtp.from}" subject="error" />

しかし、アプリを cloudhub にデプロイすると、接続情報を環境変数として設定できます。resources-local.properties ファイルをインポートする必要はありません。引き続きプロパティを次のように使用できます。

<smtp:endpoint host="${smtp.host}" port="${smtp.port}" user="${smtp.user}"            password="${smtp.password}" name="NotificationEmail" doc:name="SMTP" to="${smtp.to}"        from="${smtp.from}" subject="error" />

これが質問です。クラウドハブに設定された環境変数をJavaクラスで使用するにはどうすればよいですか。Javaクラスでsmtp.host値を取得するにはどうすればよいですか???

David は、システム プロパティとして利用できるので、それらを使用できると教えてくれました。しかし、Javaクラスでシステムプロパティを使用する方法..

何かアドバイスはありますか?? どうもありがとう!

4

2 に答える 2

1

The best option is to inject them into your class via Spring. E.g.:

<bean class="my.java.Object">
  <property name="smtp" value="${smtp.host}">
</bean>

However, getting it as a system property via System.getProperty("smtp.host") will also work.

于 2014-09-18T23:28:35.210 に答える
0

Java クラスから System.getProperty("smtp.host"); を使用するだけです。

于 2014-09-18T13:35:02.923 に答える