对于同事,我有一个Camel上下文文件:
<?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:camel="http://camel.apache.org/schema/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring-2.0.0.xsd">
<bean id="myFilter" class="com.ac.am.CamelComp.CurrentDateFileFilter"/>
<bean id="xsdProcessor" class="com.ac.am.CamelComp.MessProcessor"/>
<bean id="startPolicy" class="org.apache.camel.routepolicy.quartz2.CronScheduledRoutePolicy">
<property name="routeStartTime" value="0 0/5 * ? * 1-6 *" />
</bean>
<camel:camelContext xmlns="http://camel.apache.org/schema/spring">
<route id="uploadFromFtp" routePolicyRef="startPolicy">
<camel:from uri="sftp://
&throwExceptionOnConnectFailed=true
&consumer.delay=10000
&recursive=true"/>
<camel:to uri="bean:xsdProcessor"/>
<camel:to uri="file:sftp-inbound"/>
</route>
</camel:camelContext>
</beans>
我使用
mvn clean compile assembly:single
.
当我运行jar时,我会收到下一个堆栈跟踪:
[32m13:37:27.923[0;39m[34mINFO[0;39 m[32m[main][0;39米]
[36mo.s.b.f.xml.XmlBeanDefinitionReader[0;39m:加载XMLBean
类路径资源[camel context.xml]的定义
[32m13:37:28.331[0;39m[31mWARN[0;39 m[32m[main][0;39米]
[36mo.s.c.a.AnnotationConfigApplicationContext[0;39m:异常
在上下文初始化期间遇到-取消刷新
尝试:
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:
类路径资源[camel context.XML]的XML文档中的第24行
无效;嵌套异常是org.xml.sax.SAXParseException;
行号:24;列数:66;cvc复杂类型3.2.2:属性
“routePolicyRef”不允许出现在元素“route”中。
线程“main”中的异常
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:
类路径资源[camel context.XML]的XML文档中的第24行
无效;嵌套异常是org.xml.sax.SAXParseException;
行号:24;列数:66;cvc复杂类型3.2.2:属性
“routePolicyRef”不允许出现在元素“route”中。
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doloadBeanDefections(XmlBeanDefinitionReader.java:399)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.LoadBeanDefections(XMLBeanDepinitionRead.java:336)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.LoadBeanDefections(XMLBeanDepinitionRead.java:304)
....
位于org.springframework.context.support.PostProcessorRegistrationLegate.invokeBeanFactoryPostProcessors(PostProcessor Registrationlegate.java:93)
位于org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplication context.java:686)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplication context.java:524)
位于org.springframework.context.annotation.AnnotationConfigApplicationContext。(AnnotationConfigApplicationContext.java:84)
在com.ac.am.AmeFtp.main(amefftp.java:32)中,由:org.xml.sax引起。SAXParseException;行号:24;列数:66;
cvc复杂类型。3.2.2:不允许属性“routePolicyRef”
出现在元素“路由”中。
在com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(未知
资料来源)
在com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processAttributes(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handlestarelement(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(未知
资料来源)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(未知
资料来源)
在com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(未知
资料来源)
在com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(未知
资料来源)
在com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(未知
资料来源)
在com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(未知
资料来源)
在com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(未知
资料来源)
位于org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:429)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doloadBeanDefections(XmlBeanDefinitionReader.java:391)
…16个或更多
第23行是:
<route id="uploadFromFtp" routePolicyRef="startPolicy">
你能帮我修一下吗?非常感谢。
更新
camel
添加到
route
,但什么也没有
<camel:camelContext xmlns="http://camel.apache.org/schema/spring">
<camel:route id="uploadFromFtp" routePolicyRef="startPolicy">
<camel:from uri="sftp:......
&throwExceptionOnConnectFailed=true
&consumer.delay=10000
&recursive=true"/>
<camel:to uri="bean:xsdProcessor"/>
<camel:to uri="file:sftp-inbound"/>
</camel:route>
</camel:camelContext>
堆栈:
Caused by: org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 72; cvc-complex-type.3.2.2: Attribute 'routePolicyRef' is not allowed to appear in element 'camel:route'.
lineNumber: 24;
是
<camel:camelContext xmlns="http://camel.apache.org/schema/spring">