我正在尝试创建一个组件,使用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();
}
}
}
有人能帮我解决这个问题吗。
在xml中使用
<route>
<from uri="file:D:/Test/in" />
<to uri="sftp://<IP Address:Port>/CamelTesting?username=testftp&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或组件? 我的理解是正确的还是错误的。