2012-07-11 105 views
3

這裏我需要將動態多個客戶ID傳遞給mule中的select查詢。所以我想出了一個逗號分隔的字符串,其中包含我的客戶ID,例如:String custid = 1001,1002。我使用groovy evalutor將字符串值提取到JDBC查詢。但我收到一個空執行查詢後的有效載荷。對於單個值字符串,如String Custid = 1001我收到了所需的結果。因此,在Mule中,是否爲字符串追加單引號,如'1001,1002',這會導致此問題?如何將逗號分隔字符串傳遞給Mule中的JDBC查詢

請幫我解決這個問題。請讓我知道是否有其他方法可以解決這個問題?

這裏是我的代碼片段:

<jdbc:query key="getCustID" value="SELECT CUSTID,CUSTTYPE FROM CUSTINFO WHERE CUSTID IN (#[groovy:payload.custid]) "/> 

回答

1

騾取代表情,像#[groovy:payload.custid]與綁定參數,所以這就是爲什麼它不工作:昏迷分隔值被替換爲單個參數。

我沒有一個很好的解決方案,你想要做什麼。一種方法是在使用之前將查詢註冊到JDBC connector queries map已解決的ID列表。您將生成一個唯一的查詢名稱(如UUID)以確保它僅由當前線程使用,並且您還需要在使用後將其從queries映射中移除以避免內存泄漏。

雖然這很哈希,但希望別人能有更好的答案...

相關問題