java - 基于对象值的 Camel 路由

标签 java json apache-camel

我有两个简单的 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/

相关文章:

java - 在方法体中抛出新异常与在方法 header 中抛出异常有什么区别

java - Android 的 Java 和 C++ 之间的队列/取消队列

javascript - 通过索引而不是名称获取 json 键和值

java - 如何从camel路由中的camel上下文获取属性值

java - 如何使用 xml 正确配置 Apache Camel 和 Spring JPA

java - Exportet jar 文件不会访问资源

java - Swing 自动完成文本字段/下拉

json - REST:使用一个请求更新多个资源 - 它是标准的还是应该避免的?

json - 由于使用 Google Maps API 未捕获异常 'NSRangeException' 而终止应用程序

java - 将 Saxon-PE 与 Apache Camel 结合使用,预加载 Saxon 类时出错