我在测试类中配置了一个简单的路由,如下所示:
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;
public class TestClass extends CamelTestSupport {
String ftpSourceUri = "ftp://some.server.com:21?username=user&password=secret&fileName=test.csv";
@Test
public void testRouteConsumesTestFileFromFTPEndpoint() throws Exception{
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMinimumMessageCount(1);
assertMockEndpointsSatisfied();
}
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
from(ftpSourceUri)
.multicast().to("mock:result","stream:out");
}
};
}
}我已经通过FileZilla验证了身份验证细节和文件位置。
这是camel在执行上述代码时生成的跟踪片段: 主要DefaultCamelContext信息Apache 2.14.0 (CamelContext: camel-1)正在启动 主DefaultManagementStrategy信息JMX被禁用 主DefaultTypeConverter信息加载192个类型转换器主DefaultCamelContext信息AllowUseOriginalMessage已启用。如果不需要访问原始消息,则建议关闭此选项,因为它可以提高性能。主要的DefaultCamelContext信息StreamCaching没有在使用。如果使用流,则建议启用流缓存。参见main DefaultCamelContext的更多详细信息 信息路由: route1启动并使用:端点‘端点url’<--显然我不能发布超过2个链接 主DefaultCamelContext信息总计1条路线,其中1条已经启动。主DefaultCamelContext 信息Apache 2.14.0 (CamelContext: camel-1)在0.140秒内启动主MockEndpoint 信息断言:Endpointmock:// AmazonMP3SimpleFTPRouteTest是满意的tal-AmazonMP3SimpleFTPRouteTest-ftp.amazonmp3.com:21 AmazonMP3SimpleFTPRouteTest信息连接并登录到:‘终结点url’<-我不能发布超过2个链接显然主要的AmazonMP3SimpleFTPRouteTest信息**主AmazonMP3SimpleFTPRouteTest信息测试完成: testRouteConsumesTestFileFromFTPEndpoint(com.test.camel.SimpleFTPRouteTest)主AmazonMP3SimpleFTPRouteTest信息花费: 10.010秒(10010 millis)主要AmazonMP3SimpleFTPRouteTest信息********************************************************************************主要DefaultCamelContext信息Apache 2.14.0 (CamelContext: camel-1)正在关闭 主DefaultShutdownStrategy信息开始优雅关闭1条路由(超时10秒) el-1)线程#1 - ShutdownTask DefaultShutdownStrategy信息等待,因为仍然有1次飞行和等待交换完成,在10秒内超时。1)线程#1 - ShutdownTask DefaultShutdownStrategy 信息等待,因为仍然有1次飞行和等待交换完成,暂停在9秒。el-1)线程#1 - ShutdownTask DefaultShutdownStrategy信息等待,因为仍有1次飞行和等待完成的交换,超时时间为8秒。1)线程#1 - ShutdownTask DefaultShutdownStrategy信息等待,因为仍有1次飞行和等待完成的交换,超时时间为7秒。el-1)线程#1 - ShutdownTask DefaultShutdownStrategy信息等待,因为仍然有1次飞行和等待完成的交换,在6秒内超时。1)线程#1 - ShutdownTask DefaultShutdownStrategy信息等待,因为仍然有1次飞行和等待完成的交换,超时时间为5秒。el-1)线程#1 - ShutdownTask DefaultShutdownStrategy信息等待,因为仍然有1次飞行和等待完成的交换,在4秒内超时。el-1)线程#1 - ShutdownTask DefaultShutdownStrategy信息等待,因为仍然有1次飞行和等待完成的交换,在3秒内超时。el-1)线程#1 - ShutdownTask DefaultShutdownStrategy信息等待,因为仍有1次飞行和等待完成的交换,超时时间为2秒。el-1)线程#1 - ShutdownTask DefaultShutdownStrategy信息等待,因为仍有1次飞行和等待完成的交换,超时时间为1秒。主DefaultShutdownStrategy警告超时发生。迫使线路现在关闭。一些资源可能仍在运行。EL-1线程#1 - ShutdownTask DefaultShutdownStrategy警告在优雅关闭期间等待时中断,将强制关闭。1)线程#1 - ShutdownTask DefaultShutdownStrategy信息路由: route1关闭完成,从:端点‘Endpoint url’<-我不能发布超过2个链接显然主要DefaultShutdownStrategy信息优美关闭1条路线在52秒内完成 主要DefaultCamelContext信息Apache 2.14.0 (CamelContext: camel-1)正常运行时间1分钟 主要DefaultCamelContext信息Apache 2.14.0 (CamelContext: camel-1)在52.486秒内关闭
我能做些什么来简单地下载这个文件?
发布于 2015-03-10 13:29:53
在默认情况下,MockEndpoint将在单元测试10秒后超时。因此,您需要为FTP下载和处理文件设置更高的等待时间。
例如,可以传入一个超时值。
assertMockEndpointsSatisfied(5, TimeUnit.MINUTES);https://stackoverflow.com/questions/28963998
复制相似问题