我想只配置一个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"
答案 0 :(得分:1)
在解决问题之前,有一些解决方法。
正如您所注意到的,<int-jpa:retrieving-outbound-gateway>
支持jpa-operations
注入,以及其他SI JPA组件。
因此,您始终可以使用poll(final Message<?> requestMessage)
方法的适当逻辑来实现自己的逻辑,以便在运行时针对query
确定requestMessage
。
答案 1 :(得分:0)
目前不支持动态查询字符串。随意打开一个新功能JIRA issue以添加基于表达式的查询,该查询将在运行时为每条消息解析。