尝试读取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>在常量中,java类文件定义了常量,如
public static final String <constantName> ="xxxx";在运行这个的过程中我得到了
线程“org.apache.camel.RuntimeCamelException”中的异常: javax.xml.bind.JAXBException: Providercom.sun.xml.bind.v2.无法实例化: javax.xml.bind.JAXBException:"xxxx“不包含ObjectFactory.class或jaxb.index --链接例外: javax.xml.bind.JAXBException:"xxxx”不包含ObjectFactory.class或jaxb.index
我不知道为什么这需要ObjectFactory.class。
请帮助我解决这个问题,或者有其他方法在spring.xml中读取java常量文件吗?
请建议一下。
谢谢。
发布于 2017-12-20 14:02:45
这是从类中读取Java常量的另一种方法。您可以使用骆驼简单语言。
<route>
<from uri=""/>
<setProperty propertyname="test">
<simple>${type:<packageName>.<constantclassname>.<constantName>}</simple>
</setProperty>
<log message="print ${property[test]"/>
</route>https://stackoverflow.com/questions/47907316
复制相似问题