我正在尝试从SFTP服务器位置下载文件,但日志看起来不错,最后没有任何东西从服务器下载到本地。没有错误也来了。请提前感谢您的意见。
可用的 SFTP 文件:
[root@rsysftp test1]# ls /tmp/files/test1
test1.txt test2.txt test3.txt test4.txt
路由器:
@Component
public class SampleCamelRouter extends RouteBuilder {
@Override
public void configure() throws Exception {
getContext().getShutdownStrategy().setTimeout(10);
from("sftp://ftpuser1@some.ip.value.here/tmp/files/test1?password=pass")
.to("file:C:/out")
.log("Downloaded file ${file:name} complete.");
}
}
日志:
o.a.camel.spring.SpringCamelContext : Route: route1 started and consuming from: sftp://ftpuser1@some.ip.value.here/tmp/files/test1/test1.txt?password=xxxxxx
o.a.camel.spring.SpringCamelContext : Total 1 routes, of which 1 are started.
o.a.camel.spring.SpringCamelContext : Apache Camel 2.18.1 (CamelContext: SampleCamel) started in 30.871 seconds
s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
c.camel.examples.SampleCamelApplication : Started SampleCamelApplication in 37.837 seconds (JVM running for 38.891)
砰.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-spring-boot</artifactId>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring-boot-starter</artifactId>
<version>2.18.1</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-stream-starter</artifactId>
<version>2.18.1</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ftp</artifactId>
<version>2.18.1</version>
</dependency>
<dependency>
<groupId>io.hawt</groupId>
<artifactId>hawtio-springboot</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
文件正在从服务器成功下载,但位置不同,因此如果没有文件,则无法下载。
Location from download :ftpuser1@some.ip.value.here/tmp/uta/test1
Location from downloaded:ftpuser1@some.ip.value.here/home/user/tmp/uta/test1
它正在用户主目录内创建上传目录,这是它在预期目录中不可用的原因。
我已经配置了一个路由来从交易所中提取一些数据并聚合它们;这是简单的总结: 问题是聚合完成永远不起作用,例如,这是我的测试示例: ReflelctionTestUtils.setField;ReflectionTestUtils.setFiled;producerTemplate.send(FingerprintHistoryRouteBuilder.FINGERPRINT_HISTORY_ENDP
我试图使用Apache Camel Quartz2实现一个调度器,它每分钟执行一次路由,并按预期执行一些任务。我使用spring DSL实现与apache camel相关联的路由,如下所示: 根据日志,它不会记录为路由记录的消息,例如Direct:DomainsWithFTPUsers等等。请指导如何实现同样的目标。
遵循官方文件(https://camel.apache.org/manual/component-dsl.html#_using_component_dsl)我创建了以下代码: 但是中的告诉我: 并且中的特性不建议导入相应的库。 有人能给我指出正确的方向吗? 我必须理解的概念才能做到这一点吗?
我们需要的是直接的API来设置和使用集群消息队列。我们最初的计划是使用Camel在集群JMS或ActiveMQ队列上进行消费/生产。Kafka如何使这项任务变得更容易?在任何一种情况下,应用程序本身都将在WebLogic服务器上运行。 消息传递将是点对点类型,其中有多个相同服务的实例在运行,但根据负载平衡策略,只有一个实例应该处理消息并发出结果。消息队列也是群集的,因此服务实例或队列实例的失败都不
考虑到apache Camel,我有一个问题:是否可以通过代码来创建全局拦截器,例如AOP?拦截器应该跳过endpoint还是模仿endpoint? 提前致谢
下面是我试图实现的场景: 谢谢你的帮助。此外,这里是已经工作的FTP部分。