我的camel.xml中有一个cxf端点配置,如下所示:
<cxf:cxfEndpoint id="callbackInbound"
serviceClass="ch.axpo.emis.v1.timeseriesservice.Callback"
wsdlURL="wsdl/timeseries.wsdl" endpointName="tss:CallbackPort"
address="http://somehost.com:9090/CallbackService" serviceName="tss:CallbackService"/>
在我的一条路线中,我将此端点称为:
.to("cxf:bean:callbackInbound?dataFormat=PAYLOAD")
所以,现在我没有修复地址(http://somehost.com:9090/CallbackService),而是希望能够使用系统变量为不同的环境(DEV,TEST,PROD,...)配置地址。这是因为我使用JBoss 7作为camel的运行时环境,并且有一种非常简单的方法可以用JBoss添加系统变量。 有没有办法做到这一点?或者有更好的方法在不同的环境中配置cxf端点吗?
谢谢, 斯文
答案 0 :(得分:0)
您可以使用properties components并像这样定义cxfEndpoint
System.setProperty("environment", "junit");
<cxf:cxfEndpoint id="routerEndpoint" address="{{router.address}}"
serviceClass="org.apache.camel.component.cxf.HelloService"/>
您可以像这样定义属性文件
router.address={{{{environment}}.router.address}}
# LOCAL SERVER
junit.router.address=junit
# LOCAL SERVER
local.router.address=local
# TEST
test.router.address=test
# PROD
prod.router.address=prod