我在使用 JPA 时遇到了以下问题,但这可能更像是关于 Camel 的概念性问题。
我需要一个基于 cron 的 Quartz 消费者。但是如果它被触发,我想作为 JPA 组件的第一步进行选择。
<from uri="quartz://myQuartz?cron=myCronExpression/>
<to uri="jpa://home.myEntity?consumer.query=select o from home.myEntity o"/>
但是如果我用“to”调用 JPA 组件,那么它就被用作生产者,而不是消费者。我可以以某种方式使用 JPA 组件来处理这个问题,还是必须遵循 Service Activator(基于 bean)的逻辑并将 JPA 组件抛在脑后?
提前致谢,
格格利
最佳答案
这几乎是 Content-Enrichement模式。您可以使用
<pollEnrich uri="jpa://home.myEntity?consumer.query=select o from home.myEntity o"/>
而是使用消费者中途。请记住,您不能使用来自路由( header 等)的运行时数据,但在这种情况下需要保持路由 URI 静态。似乎您的 URI 是静态的,因此应该没有问题。
关于jpa - Camel 中途jpa消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16983480/