apache-camel - 在spring xml中读取java常量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache-camel - 在spring xml中读取java常量相关的知识,希望对你有一定的参考价值。
试图在spring xml文件中读取java常量。
在spring.xml文件中
<util:constant id="speed"
static-field="<packageName>.<constantclassname>.<constantName>" />
并使用属性占位符来读取它
<bean id="bridgePropertyPlaceHolder" class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer">
<property name="properties">
<props>
<prop key="testProperty">#{speed}</prop>
</props>
</property>
<property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>
并在路线打印属性
<route>
<from uri=""/>
<setProperty propertyname="test">
<simple>{{testProperty}}</simple>
</setProperty>
<log message="print ${property[test]"/>
</route>
并且在Constants java类文件中定义了常量之类
public static final String <constantName> ="xxxx";
我正在运行这个
线程“main”中的异常org.apache.camel.RuntimeCamelException:javax.xml.bind.JAXBException:无法实例化Provider com.sun.xml.bind.v2.ContextFactory:javax.xml.bind.JAXBException:“xxxx”不包含ObjectFactory.class或jaxb.index - 带有链接异常:[javax.xml.bind.JAXBException:“xxxx”不包含ObjectFactory.class或jaxb.index]
我不确定为什么这需要ObjectFactory.class。
请帮我解决这个问题,还是有其他方法可以在spring.xml中读取java常量文件
请建议。
谢谢。
答案
这是直接从类中读取Java常量的另一种方法。你可以使用骆驼简单的语言。
<route>
<from uri=""/>
<setProperty propertyname="test">
<simple>${type:<packageName>.<constantclassname>.<constantName>}</simple>
</setProperty>
<log message="print ${property[test]"/>
</route>
以上是关于apache-camel - 在spring xml中读取java常量的主要内容,如果未能解决你的问题,请参考以下文章
ServiceMix 中 Apache-Camel 路由的管理和监控
apache-camel调度程序组件交换属性TIMER_NAME为空