jpa - Camel 中途jpa消费者

标签 jpa apache-camel quartz-scheduler

我在使用 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/

相关文章:

java - 尝试最佳解决方案?

JPA:在非 id 列上使用 @GeneratedValue

hibernate - 使用额外列映射多对多关联表

java - Apache Camel - 在启动时触发任务仅运行一次

apache-camel - 更改Camel的基本/camel url

java - 具有两个抽象类的 JPA 继承

java - 如何正确记录 Camel 中的消息/路由(流)?

java - 使用 Quartz 和 spring 时的配置

java - 如何做 "massive"作业调度( quartz ?)

java - 当方法开始时启动固定延迟调度程序并在完成时停止