我有一个bean,它有一个构造对象列表的方法。我想从POJO的这个列表中生成一个json和jackson。
public class SimpleBean {
public List<Object> constructObject() {
List<Object> objects = new ArrayList<>();
// construct objects
return objects;
}
}
然后在我的骆驼路线中,我想从我的bean方法生成json。这里我做了什么,似乎不起作用
@Override
public void configure() throws Exception {
from("quartz expression")
.log(LoggingLevel.INFO, LOGGER, "work started")
.bean(simpleBean, "constructObjects")
.marshal()
.json(JsonLibrary.Jackson)
.to("file:C:/data/export/JSON")
.setHeader(Exchange.FILE_NAME, constant("test.json"))
.log(LoggingLevel.INFO, LOGGER, "work completed");
}
camel返回一个UUID不带扩展名且内容为NULL的文件。伙计们,我错过了什么!?
要设置文件名,您必须在调用文件之前设置标题:
.setHeader(Exchange.FILE_NAME, constant("test.json"))
.to("file:C:/data/export/JSON")
您的方法名为constructObject,而不是constructObjects,但我认为这是一个输入错误,否则会出现错误。
我无法模拟的NULL。使用以下路由:
public static class SimpleBean {
public List<Object> constructObject() {
List<Object> objects = new ArrayList<>();
objects.add("entry");
return objects;
}
}
@Override
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
from("direct:start")
.bean(SimpleBean.class, "constructObject")
.marshal().json(JsonLibrary.Jackson)
.setHeader(Exchange.FILE_NAME, constant("test.json"))
.to("file:C:/tmp/JSON");
}
};
}
我得到一个名为test的输出文件。json和内容:
["entry"]
问题内容: 我一直在仔细研究Apache Camel文档,试图对它的两个 最基本 概念(端点和路由)有一个具体的了解,尽管这些术语在文档中各处都使用,但是我找不到真正定义它们的参考。是以及它们的用途。尽管它们的名称听起来很明显,而且我 想 我理解它们的含义,但是现在我已被分配到一项使我深深陷入Apache Camel Land的任务,而了解这些机制的绝对至关重要是。 我的猜测是,“端点”只是一个b
我通过以下代码以编程方式创建JMS路由: 我有课: 我想在上述路由和endpoint之间交换一些信息/参数。根据我想要的参数值,选择要在这个消息侦听器容器中设置的连接工厂。 请让我知道我是否能够解释我的问题陈述。 还有其他方法可以实现这一点吗?我想在运行时构建连接工厂,路由也是如此。JmsEndpoint 中是否有任何方法可以用来了解路由 id?
我设置了一个endpoint,如下所示: 我用骆驼石英2.22.2和石英1.8.6 下面是从关闭到启动上下文的日志。
问题内容: 我尝试对Apache骆驼路线进行junit测试。像这样的东西: 构建器类的定义如下 “ myExportRouteProcessor”类仅从JPA存储库中获取一些数据,并将结果放入路由。我想要的是在测试类中触发此路由,以检查整个过程是否正确完成。当前,处理器未启动。我该怎么办? 问题答案: 您可以使用AdviceWithRouteBuilder#replaceFromWith直接替换测
我试着为阿帕奇骆驼路线做一个jUnit测试。类似于这样: builder类的定义如下 myExportRouteProcencer类只是从JPA存储库中获取一些数据,并将结果放入路由。我想要的是在测试类中触发此路由,以检查整个过程是否正确完成。目前,处理器没有被触发。我应该做些什么?
嗨,我在camel中有一个JMS消费者路由,我的要求是在特定事件时停止/暂停该路由(基于某个字段值),然后使用调度器恢复该路由。为此,我创建了两个路由,一个是我的原始jms消费者路由,另一个是调度程序路由,它们恢复jms消费者路由,虽然我能够暂停路由,但第二个路由不恢复暂停的路由,它显示的状态为已启动。 以下是我的两条路线 请帮助我如何实现上述场景。