JPA出站网关 - 动态jpa查询解析

时间:2015-02-11 02:58:50

标签: spring-integration

我想只配置一个JPA Outbound Gateway实例,并希望jpa-query属性在运行时由底层JPAExecutor实例动态解析。有人可以告诉我这是否可能?如果可能,请您提供一个例子吗?我查看了spring示例,但示例在JPA出站网关的jpa-query属性中进行了硬编码查询。 (P.S.HTTP Oubound网关对url / uri变量解析有类似的概念。)

这就是我要找的东西:

<int-jpa:retrieving-outbound-gateway entity-manager-factory="entityManagerFactory"
    request-channel="listPeopleRequestChannel" 
    jpa-query="{queryString}"> </int-jpa:retrieving-outbound-gateway>

其中queryString = "select p from Person p order by p.name asc"

2 个答案:

答案 0 :(得分:1)

在解决问题之前,有一些解决方法。

正如您所注意到的,<int-jpa:retrieving-outbound-gateway>支持jpa-operations注入,以及其他SI JPA组件。

因此,您始终可以使用poll(final Message<?> requestMessage)方法的适当逻辑来实现自己的逻辑,以便在运行时针对query确定requestMessage

答案 1 :(得分:0)

目前不支持动态查询字符串。随意打开一个新功能JIRA issue以添加基于表达式的查询,该查询将在运行时为每条消息解析。