我有两个简单的 Camel 路由,用于写入 jms 队列并从中读取。我正在将一个序列化对象放入队列。我能够反序列化它并将其成功转换为 json。
写作路线:
from("direct:message").to("jms:myqueu")
我的阅读路线:
from("jms:myqueu")
.marshal()
.json(JsonLibrary.Gson).
.to("file://cc")
现在我想检查对象中的一个字段并根据该字段进行路由。此外,该字段不应成为最终 json 的一部分。
我可以检查对象中的值并基于该值进行路由(比如写入不同的文件吗?)。我可以在 pojo 中添加注释以避免最终 json 中的字段
我想到了将object转成json,然后发送到queue。然后我可以使用 jsonpath 进行条件路由。但是我怎么能从最终的 json 中省略一个字段呢?
最佳答案
是的,您可以使用基于内容的路由来检查传入对象中的任何字段并根据该字段进行路由。
引用:http://camel.apache.org/content-based-router.html
要在 json 编码期间忽略某个字段,您可以使用 @JsonIgnore - Jackson 注释。
关于java - 基于对象值的 Camel 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39631153/