如何在 apache camel 的 spring dsl 中定义属性
How to define properties in spring dsl in apache camel
如何在 Apache Camel
中定义带有 Spring DSL
的属性?使用蓝图,您可以通过以下方式完成:
<cm:property-placeholder persistent-id="org.apache.servicemix.examples.cxf.receive" update-strategy="reload">
<cm:default-properties>
<cm:property name="CXFserver" value="http://localhost:8989/"/>
<cm:property name="service" value="soap" />
</cm:default-properties>
</cm:property-placeholder>
<camelcxf:cxfEndpoint id="personService"
address="${CXFserver}${service}"
serviceClass="org.apache.servicemix.examples.camel.soap.PersonService"
/>
但是使用 Spring DSL 我应该像上面的例子一样做什么?在我的 camel-cxf.xml
文件下方:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://camel.apache.org/schema/cxf"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/cxf
http://camel.apache.org/schema/cxf/camel-cxf.xsd">
<!-- setting up a Camel CXF web-service -->
<cxf:cxfEndpoint id="orderEndpoint"
loggingFeatureEnabled="true" address="http://localhost:9000/order/"
serviceClass="com.aa.kk.service.OrderService" />
</beans>
使用 PropertyPlaceholderConfigurer 喜欢
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="properties">
<props>
<prop key="CXFserver">http://localhost:8989/</prop>
<prop key="service">soap</prop>
</props>
</property>
</bean>
请参阅文档:http://camel.apache.org/using-propertyplaceholder.html 在 配置部分 spring xml
您正在尝试在服务器中获取您的属性,我从未尝试过这样做。但是当属性文件是本地文件时,你可以尝试做一些事情,像这样。
<bean
class="org.apache.camel.component.properties.PropertiesComponent" id="properties">
<property name="location" value="classpath:application.properties"/>
</bean>
并且在您的类路径中,您可以尝试将您的类路径更改为您的服务器地址。
如何在 Apache Camel
中定义带有 Spring DSL
的属性?使用蓝图,您可以通过以下方式完成:
<cm:property-placeholder persistent-id="org.apache.servicemix.examples.cxf.receive" update-strategy="reload">
<cm:default-properties>
<cm:property name="CXFserver" value="http://localhost:8989/"/>
<cm:property name="service" value="soap" />
</cm:default-properties>
</cm:property-placeholder>
<camelcxf:cxfEndpoint id="personService"
address="${CXFserver}${service}"
serviceClass="org.apache.servicemix.examples.camel.soap.PersonService"
/>
但是使用 Spring DSL 我应该像上面的例子一样做什么?在我的 camel-cxf.xml
文件下方:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://camel.apache.org/schema/cxf"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/cxf
http://camel.apache.org/schema/cxf/camel-cxf.xsd">
<!-- setting up a Camel CXF web-service -->
<cxf:cxfEndpoint id="orderEndpoint"
loggingFeatureEnabled="true" address="http://localhost:9000/order/"
serviceClass="com.aa.kk.service.OrderService" />
</beans>
使用 PropertyPlaceholderConfigurer 喜欢
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="properties">
<props>
<prop key="CXFserver">http://localhost:8989/</prop>
<prop key="service">soap</prop>
</props>
</property>
</bean>
请参阅文档:http://camel.apache.org/using-propertyplaceholder.html 在 配置部分 spring xml
您正在尝试在服务器中获取您的属性,我从未尝试过这样做。但是当属性文件是本地文件时,你可以尝试做一些事情,像这样。
<bean
class="org.apache.camel.component.properties.PropertiesComponent" id="properties">
<property name="location" value="classpath:application.properties"/>
</bean>
并且在您的类路径中,您可以尝试将您的类路径更改为您的服务器地址。