我使用apache駱駝在通過一個端口上的Tomcat上運行的一個URI(API網關)端點之間創建路由,我映射到運行在Tomcat上的另一個URI在不同的域和端口上。如何在Apache駝峯的URI端點中使用動態值XML配置
<bean id="hostnameVerifier" class="org.apache.http.conn.ssl.AllowAllHostnameVerifier" />
...
<camel:sslContextParameters id="ssl">
<camel:keyManagers keyPassword="password">
<camel:keyStore ... />
</camel:keyManagers>
<camel:trustManagers>
<camel:keyStore ... />
</camel:trustManagers>
</camel:sslContextParameters>
....
<rest path="/MyService" consumes="application/json" produces="application/json">
<post uri="/login">
<description>Authenticate User</description>
<route streamCache="true">
<to
uri="https4://domain-b:9000/Auth/user/login?bridgeEndpoint=true&sslContextParametersRef=ssl&x509HostnameVerifier=hostnameVerifier" />
</route>
</post>
...
</rest>
現在,據我硬編碼域到我的端點,事情工作正常。當我必須從某個配置文件的輸入中動態填充該值時,會出現問題。
這就是我想實現相同的 -
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
<property name="location" value="classpath:${LOCATION_PATH}propsfile.properties"/>
</bean>
屬性鍵的名稱是「域」,現在在我的終點確定指標我寫的一樣 -
<to
uri="https4://${properties.domain}:9000/Auth/user/login?bridgeEndpoint=true&sslContextParametersRef=ssl&x509HostnameVerifier=hostnameVerifier" />
基本上在加載名爲properties的bean中的屬性後,我試圖用$ {properties.domain}或#{properties.domain}替換domain-b,但似乎沒有工作。
如果任何人只能在基於XML的配置中建議如何從屬性文件讀取URL域,那將非常棒。
-AJ
你嘗試'URI =「https4:// {{properties.domain}}:9000'?裏面駱駝路線元素屬性是可用的那樣。 – Vadim
讓我檢查並更新。謝謝 – aj1984
它沒有這樣工作,任何其他建議? – aj1984