我正在尝试创建使用Camel Spring将文件从一个位置移动到另一个位置的组件。
它适用于FTP,但在尝试使用SFTP时出错。
错误是(SFTP URI:sftp:// IP地址:Port / CamelTesting?username = testftp& password = testftp): 从类路径资源[testApplicationContext.xml]加载XML bean定义 线程“main”org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException中的异常:来自类路径资源[processorApplicationContext.xml]的XML文档中的第25行无效;嵌套异常是org.xml.sax.SAXParseException; lineNumber:25; columnNumber:76;对实体“密码”的引用必须以“;”结尾分隔符。
错误是(SFTP URI(& amp):sftp:// IP地址:Port / CamelTesting?username = testftp& password = testftp): 线程“main”中的异常org.apache.camel.RuntimeCamelException:org.apache.camel.FailedToCreateRouteException:无法在以下位置创建路由route1:>>>至[sftp:// IP地址:Port / CamelTesting?username = testftp& password = testftp]<<<在路线:路线(路线1)[[从[文件:D:/测试/在]] - > [To [sftp:/ IP Address:Port ...因为无法解析端点:sftp:// IP地址:Port / CamelTesting?password = testftp& username = testftp,原因是:没有找到scheme的组件:sftp
依赖关系是:
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>2.15.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
<version>2.15.1</version>
</dependency>
</dependencies>
testApplicationContext.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"
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.xsd">
<camelContext xmlns="http://camel.apache.org/schema/spring">
<!--FTP Working fine-->
<!--route>
<from uri="file:D:/Test/in" />
<to uri="file:D:/Test/out" />
</route-->
<!--SFTP-->
<route>
<from uri="file:D:/Test/in" />
<to uri="sftp://<IP Address:Port>/CamelTesting?username=testftp&password=testftp"/>
</route>
</camelContext>
测试类:
import org.apache.camel.CamelContext;
import org.apache.camel.spring.SpringCamelContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class testSFTP {
public static final void main(String[] args) throws Exception {
ConfigurableApplicationContext appContext = new ClassPathXmlApplicationContext("testApplicationContext.xml");
CamelContext camelContext = SpringCamelContext.springCamelContext(appContext, false);
try {
camelContext.start();
Thread.sleep(3000);
}catch(Exception e){
e.printStackTrace();
}
finally {
camelContext.stop();
appContext.close();
}
}
}
有人可以帮助我解决问题。
答案 0 :(得分:7)
在xml中使用…
7.00 is between 5.30 and 6.30 False
7.00 is between 6.30 and 0.30 False
作为&amp;
&
for secord错误:
您需要将camel-ftp添加到类路径中。只需将其作为依赖项添加到pom.xml。
<route>
<from uri="file:D:/Test/in" />
<to uri="sftp://<IP Address:Port>/CamelTesting?username=testftp&password=testftp"/>
</route>
希望这会有所帮助。