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

Simple camel ftp路由超时

令狐晟
2023-03-14

我在一个测试类中配置了一个简单的路由如下所示:

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");

            }
        };
    }
}

这是我执行上述代码时camel生成的跟踪片段:

我可以做什么来简单地下载文件

共有1个答案

令狐辉
2023-03-14

默认情况下,MockEndpoint将在单元测试后10秒超时。因此您需要为FTP下载和处理文件设置更长的等待时间。

中传入超时值,例如

assertMockEndpointsSatisfied(5, TimeUnit.MINUTES);
 类似资料:
  • 我是nodejs测试的新手,使用mocha和Chai。现在,我在使用mocha测试API路由处理程序时遇到了问题。我的路由处理程序代码是 Upload函数只是一个multer实用程序,用于存储imagefile。我的测试代码是 运行此代码后显示的输出为

  • 例如,我们可能希望一些路线只有在用户登录或接受条款和条件后才可访问。 我们可以使用路由哨兵来检查这些条件并控制对路由的访问。 路由哨兵还可以控制用户是否可以离开某个路由。 例如,假设用户已将信息键入页面上的表单,但尚未提交表单。 如果这时离开页面,他们将丢失信息。 如果用户尝试离开路由而不是提交或保存信息,我们可以提示用户。 Angular 提供了五种路由拦截哨兵: CanActive 激活拦截

  • 每个路由可以有不同的属性; 一些常见的属性是: path - 应用程序在特定路由上时在浏览器中显示的URL component - 当应用程序在特定路由上时要呈现的组件 pathMatch - 默认为’prefix’的可选属性。 确定是匹配完整的网址还是仅匹配开头。 当定义一个具有空路径字符串的路径设置pathMatch为’full’时,否则它将匹配所有路径。 children - 表示此路由的子

  • 通过Group可以实现路由分组,Group 路由分组可以简化你的路由撰写: 有两种方法来使用Group: 第一种,创建Group对象,通过Group方法传入 g := tango.NewGroup() g.Get("/1", func() string { return "/1" }) g.Post("/2", func() string { return "/2" }) o :=

  • Tango支持4种形式的路由匹配规则 静态路由 tg.Get("/", new(Action)) tg.Get("/static", new(Action))匹配 URL:/ 到 Action结构体的Get函数 匹配 URL:/static 到 Action结构体的Get函数 命名路由 tg.Get("/:name", new(Action)) tg.Get("/(:name)", new(Act

  • 英文原文: http://emberjs.com/guides/routing/asynchronous-routing/ 本节内容主要介绍一些路由的高级特性,以及路由是如何处理应用中的一些复杂异步逻辑的。 承诺简介 Ember在路由中处理异步逻辑的方案主要依赖于承诺(Promise)。简单地说,承诺就是代表了最后的值的对象。承诺可以被履行(成功的获得了最后的结果)也可以被拒绝(没有获得最后的结果