2015-02-11 55 views
2

我只想配置JPA出站網關的一個實例,並希望jpa-query屬性在運行時由底層JPAExecutor實例動態解析。任何人都可以讓我知道這是可能的嗎?如果可能的話,請你舉個例子嗎?我查看了Spring樣本,但這些示例在JPA出站網關的jpa-query屬性中使用了硬編碼查詢。 (PS的HTTP Oubound網關具有URL/URI變量分辨率相似的概念)JPA出站網關 - 動態jpa查詢解析

這件事就是我在尋找:

<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

動態查詢字符串不是當前支持的。隨意打開一個新功能JIRA issue添加一個基於表達式的查詢,該查詢將在運行時爲每條消息解析。

1

直到問題得到解決,您纔有一些解決方法。

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

因此,您始終可以使用poll(final Message<?> requestMessage)方法的適當邏輯來實現您自己的方法,以確定運行時的queryrequestMessage