gpt4 book ai didi

spring - Camel 之春 : No component found with scheme: sftp

转载 作者:行者123 更新时间:2023-12-01 09:51:03 25 4
gpt4 key购买 nike

我正在尝试创建使用 Camel Spring 将文件从一个位置移动到另一个位置的组件。

它在 FTP 上运行良好,但在尝试使用 SFTP 时出现错误。

错误是 (SFTP URI : sftp://IP Address: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;行号:25;列数:76;对实体“密码”的引用必须以“;”结尾分隔符。

错误是 (SFTP URI (&): sftp://IP Address:Port/CamelTesting?username=testftp&password=testftp):线程“main”中的异常 org.apache.camel.RuntimeCamelException:org.apache.camel.FailedToCreateRouteException:无法在以下位置创建路由 route1:>>> To[sftp://IP Address:Port/CamelTesting?username=testftp&password=testftp ] <<< in route: Route(route1)[[From[file:D:/Test/in]] -> [To[sftp:/IP Address:Port... 因为无法解析端点:sftp://IP Address:Port/CamelTesting?password=testftp&username=testftp 由于:未找到具有方案的组件: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();
}
}
}

有人可以帮我解决这个问题吗?

最佳答案

在 xml 中使用 & 作为 &

<route>
<from uri="file:D:/Test/in" />
<to uri="sftp://<IP Address:Port>/CamelTesting?username=testftp&amp;password=testftp"/>
</route>

记录错误:

您需要将 camel-ftp 添加到类路径中。只需将它作为依赖项添加到 pom.xml。

    <dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ftp</artifactId>
<version>2.15.1</version>
</dependency>

希望这对您有所帮助。

关于spring - Camel 之春 : No component found with scheme: sftp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37392421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com