在不同的类中创建Camel Route

时间:2014-11-11 12:37:47

标签: java spring jaxb apache-camel

我编写了一个应用程序来加载Camel Routes。

我有一个Spring-Camel实例。现在我要加载"模块"订购我的路线,并有能力通过这个模块取消/激活一套路线。

所以我编写了一个XML文件,并将其解组为Java-Classes。每个模块现在都是Java类。我想在这个Java-Classes中定义Camel Routes。

当我从RouteBuilder扩展Java-Classes时,JAXB不会编译而不是。

让你们中的一些人了解我如何定义我的路线,例如" from()。to()"在一个不从RouteBuilder扩展的类的方法中?

感谢您的所有想法!!!

2 个答案:

答案 0 :(得分:2)

哦,我写了我的问题,5分钟前我找到了解决方案:

public class XYZ {

public static RouteBuilder routen() {
        RouteBuilder builder = new RouteBuilder() {
            public void configure() {
                errorHandler(deadLetterChannel("mock:error"));

                from("file:documentIn").id("DefaultRoute")
                .to("file:documentOut");
            }
        };
        return builder;
    }
}

谢谢大家,对不起!

答案 1 :(得分:0)

你可以注释你的RouteBuilder类并使用依赖注入,以便在camel启动时包含它们或不包含它们。

另一种可能性是使用maven模块......然后根据是否存在特定模块,它所包含的路由是否会被加载。

这两个解决方案在过去一直对我有用...但是尝试使用未从RouteBuilder扩展的驼峰路线我还没试过......不确定它是否是一个好方法。

祝你好运。