Apache Camel中的Spring Application Events路由

时间:2018-12-17 19:04:56

标签: java spring apache-camel

我在使用Apache Camel Route配置Spring Application Events时遇到问题。我要构建的是一条Camel路由,该路由在某个目录中侦听文件并将结果作为我的默认Spring Application事件传递,并将其注入ApplicationContext中。我在互联网上找到的关于这种特殊设置的唯一信息是来自Camel的参考,它非常委婉地简洁明了:http://camel.apache.org/spring-event.html 因此,我编写了自定义类,扩展了Spring的Application Event。然后,我编写了一个事件处理程序,并如下配置了我的路由:

@自动连线 私人CamelContext ctx;

...

  @Bean
public RouteBuilder myRoute() throws Exception {
    RouteBuilder route = new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            String myDirectoryPath = "file://my directory";

            from(myDirectoryPath)
                    .delay(1100)
                    .convertBodyTo(String.class)
                    .to("spring-event://MySpringEvent");
        }
    };

    ctx.addRoutes(route);
    return route;
}

问题在于此特定设置不会发布任何Spring事件。 例如,如果我将结束路由替换为控制器映射的剩余网址,则设置有效。如果最后一条路由只是另一个目录路径,它也可以工作。因此,问题是:如何正确配置它以处理Spring事件?

0 个答案:

没有答案