我试着为阿帕奇骆驼路线做一个jUnit测试。类似于这样:
@RunWith(CamelSpringJUnit4ClassRunner.class)
@ContextConfiguration(
loader = CamelSpringDelegatingTestContextLoader.class
)
public class MyExportRouteBuilderIT extends CamelTestSupport {
@Test
public void test() {
// trigger and check the files made by route builder processor
}
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new MyExportRouteBuilder();
}
}
builder类的定义如下
from("quartz2://exportJob?cron=" + cronTrigger)
.setHeader(FILE_NAME, expression(FILE_NAME_FORMAT))
.process(myExportRouteProcessor)
.marshal(new BindyCsvDataFormat(MyExportData.class))
.to("file:///destination);
myExportRouteProcencer类只是从JPA存储库中获取一些数据,并将结果放入路由。我想要的是在测试类中触发此路由,以检查整个过程是否正确完成。目前,处理器没有被触发。我应该做些什么?
您可以直接使用AdviceWitRouteBuilder#replace eFromBy替换测试中的Quotz2组件。
@Test
public void test() throws Exception{
//mock input route (replace quartz with direct)
context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
replaceFromWith("direct:triggerQuartz");
}
});
//trigger endpoint
sendBody("direct:triggerQuartz", null);
//do some assertions
}
问题内容: 我尝试对Apache骆驼路线进行junit测试。像这样的东西: 构建器类的定义如下 “ myExportRouteProcessor”类仅从JPA存储库中获取一些数据,并将结果放入路由。我想要的是在测试类中触发此路由,以检查整个过程是否正确完成。当前,处理器未启动。我该怎么办? 问题答案: 您可以使用AdviceWithRouteBuilder#replaceFromWith直接替换测
我设置了一个endpoint,如下所示: 我用骆驼石英2.22.2和石英1.8.6 下面是从关闭到启动上下文的日志。
我有一个Springboot应用程序,其中配置了一些驼峰路线。 我想测试从到的路由。我试过这里提到的不同东西http://camel.apache.org/camel-test.html,但似乎无法让它工作。 我正在尝试这样做: 但是我的ProducerTemplate总是。我尝试了自动连接CamelContext,但遇到一个异常,它无法解析CamelContext。但这可以通过添加到类。但是我的
我想用Apache Camel和Quartz2按spceific顺序设计路线。我定义了一个上下文,添加了两条路由: 代码构建和运行,但我没有来自控制台的反馈,我期待订单1的路由结果。此外,顺序为2的路由不会写入作为参数传递的文件。每条路线,采取单独正确运行。有人能帮帮我吗?
我在MyRouteBuilder中有一条骆驼路线。正在使用ActiveMQ消息的java文件: 我写了一个测试用例如下: 当我运行单元测试用例时,我得到了这个奇怪的错误: 看到这些信息,我尤其感到困惑: 和 虽然我有一个正确的队列名称,但为什么队列显示为?还有,为什么代理url? 我想运行这个单元测试用例,以便它在所有环境中正常运行,如:本地、DIT、SIT、PROD等。因此,我不能负担的经纪人u
我有一个Spring boot应用程序,其中包含几条camel路由,这些路由应该基于Quartz2的CronTrigger启动。由于某种原因,只有第一个计划的路由才会启动,但它是在最后一个计划的时间启动的。 路由一:mytime-1h 路由二:mytime 已配置导出路由:WeekProcessingRoute-Schedule:Quartz2:/cronTrigger?cron=041***?