当前位置: 首页 > 知识库问答 >
问题:

驼峰Spring:未找到方案为sftp的组件

呼延升
2023-03-14

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

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

错误是(SFTP URI:sftp://IP地址:港口/机场?用户名=testftp

错误是(SFTP URI(

依赖项包括:

<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();
    }
    }
}

有人能帮我解决这个问题吗。

共有1个答案

王豪
2023-03-14

在xml中使用

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

对于secord错误:

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

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

希望这有帮助。

 类似资料:
  • 如果这是个愚蠢的问题,请原谅。骆驼洞对我来说是新鲜事,所以我真的没有“全球视野”。我喜欢在camel安装中使用队列。我发现ActiveMQ是一个解决方案,然后偶然发现了两个不同的组件(或uri):ActiveMQ和JMS。 由于ActiveMQ正在实现JMS 1.1,使用这两种URI有什么区别?或者换句话说:我可以同时使用这两种方法吗?如果可以,在哪些情况下应该使用哪一种?

  • 我正在用Spring boot为Camel编写一个测试。下面是测试类的配置 我认为骆驼不应该被启动。但当我运行测试时,它已经开始了。 我注意到CamelSpringBootRunner确实在CamelSpringBootExecutionListener中启动了camel上下文。 如何强制不启动骆驼上下文。

  • 我正在创建一个camel路由,它从本地服务器读取文件,添加一些头,然后将内容写入另一个远程sftp服务器上的文件。 我动态设置的标题之一是登录最终服务器所需的用户名。然而,当连接发生时,我可以看到我设置的用户名没有用于登录,而是使用文字值“${in.header.senderTargetUserName}”。该属性尚未解析。 这是代码: 我有一个例外: 当我在最终代码引发异常之前设置断点时,我可以

  • 问题内容: Java的标准库似乎使用camelCase作为方法名称。诸如此类的本 机 功能也不例外。 如果是这样,为什么 不驼峰? 有什么特别的吗? 问题答案: 它已经在Java中的1.0版本发布之前-所以我的猜测是,它早于命名约定,它是在API的横扫无缘当命名约定 进行 确定。 (在其他新闻中,应称为。)

  • 将字符串转换为驼峰格式(camelcase)。 将字符串分解成单词,并将它们每个单词的第一个字母大写,重新拼接。使用一个正则表达式。 const toCamelCase = str => { let s = str && str .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0

  • 关于ApacheCamel的简短问题。我有以下场景,其中我的服务器接收jms消息,然后转换为csv文件,然后插入DB。为此,我有两个bean: xml2csv 我使用路由像: 当"路由"一个文件从-到,它是移动像一个消息?或者把问题放在不同的地方,ApacheCamel是否获取一个文件,将其包装为消息,并将其路由到bean或组件? 我的理解是正确的还是错误的。