我正在尝试使用 spring 将配置外部化,但无法使其正常工作..
这是我到目前为止所做的:
在每个环境的 war 文件 (src/test/resources/) 中创建一个属性文件。例如:nonprod-key.properties & prod-key.properties,内容如下:
key.name=NameOfPrivateKey.pfx
key.password=JustAPasswordForPrivateKey
然后在我的 jboss-cxf.xml 中,我想读取上面的值如下:
<import resource="#{systemProperties['environment']}-key.properties" />
<http:conduit name="*.http-conduit">
<http:tlsClientParameters
secureSocketProtocol="SSL">
<sec:keyManagers keyPassword="${key.password}">
<sec:keyStore type="PKCS12" password="${key.password}" resource="${key.name}" />
</sec:keyManagers>
... ... ...
</http:tlsClientParameters>
</http:conduit>
然后在 eclipse 中,运行配置 --> Arguments --> VM Arguments
-Denvironment=nonprod
不幸的是,上述方法不起作用。:(
我收到此错误消息:
class path resource [#{systemProperties['environment']}-key.properties] cannot be opened because it does not exist
我试图使用这里的建议:http: //forum.springsource.org/showthread.php?98988 -Access-external-properties-file-from-SPRING-context-file&p=332278#post332278
但似乎无法让它发挥作用。我究竟做错了什么?有人可以举例说明如何最好地做到这一点。
谢谢你。
-SGB