【发布时间】:2019-07-02 02:47:58
【问题描述】:
我们正在将传统的 Camel 路由从 XML 转换为 Java DSL,但我们用于编组的 JSON/Jackson 数据格式存在问题。这就是我们在 XML 中的做法:
<camelContext id="camelContext">
<dataFormats>
<json id="json"
library="Jackson"
allowJmsType="true"
disableFeatures="WRITE_DATES_AS_TIMESTAMPS"/>
</dataFormats>
</camel>
<route id="myRoute">
<from uri="seda:inqueue"/>
<marshal>
<json library="Jackson" />
</marshal>
<to uri="seda:outqueue />
</route>
...这是 Java 版本(到目前为止)...
@Bean(name = "json")
public JacksonDataFormat jacksonDataFormat() {
JacksonDataFormat format = new JacksonDataFormat();
format.setAllowJmsType(true);
format.disableFeature(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
return format;
}
from("seda:inqueue")
.marshal(json)
.to("seda:outqueue");
我走对了吗?
另外,这两种方法有什么区别?我的猜测是第一个将 Json TEXT 转换为字节流,第二个将对象转换为 Json TEXT;准确吗?
from("seda:inqueue")
.marshal(json)
.to("seda:outqueue");
from("seda:inqueue")
.json(JsonLibrary.Jackson)
.to("seda:outqueue");
【问题讨论】:
标签: java json jackson apache-camel integration