我编写了一个应用程序来加载Camel Routes。
我有一个Spring-Camel实例。现在我要加载"模块"订购我的路线,并有能力通过这个模块取消/激活一套路线。
所以我编写了一个XML文件,并将其解组为Java-Classes。每个模块现在都是Java类。我想在这个Java-Classes中定义Camel Routes。
当我从RouteBuilder扩展Java-Classes时,JAXB不会编译而不是。
让你们中的一些人了解我如何定义我的路线,例如" from()。to()"在一个不从RouteBuilder扩展的类的方法中?
感谢您的所有想法!!!
答案 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扩展的驼峰路线我还没试过......不确定它是否是一个好方法。
祝你好运。