我有一個調用外部Web服務的Mule應用程序。在調用此Web服務之前,我必須調用會話密鑰Web服務來檢索會話密鑰以發送給原信號目標Web服務。此會話密鑰服務每次輸入與登錄相同的公司名稱參數,並在每次調用10分鐘時返回一個唯一字符串。每個Web服務呼叫都必須使用一個唯一的密鑰,並且不能同時使用兩個密鑰。在Mule中創建會話密鑰池
所以這些會話密鑰不能被任何東西鎖住,因爲只有1個登錄,但是對於1次登錄只有多個不同的會話密鑰。
我一直在尋找Apache Commons Pool for this,更具體地說 - GenericObjectPool並不需要每個會話密鑰都是有效的密鑰。
但我正努力以一種很好的方式將它與Mule融合在一起。我已經使用Spring進行了設置,並且我必須實現的接口指示我將所有的http請求和轉換等與Java代碼中的外部Web服務聯繫起來。但理想情況下,我想爲此使用Mules核心運輸和變壓器。
什麼是構建這個最好的方法?
創建一個攔截器?
注入傳輸到我的自定義代碼?
或者有沒有更好的方法來做簡單的非鍵控池,更適合Mule?
任何指導讚賞。
感謝大衛的迴應。我不知道我跟着。我不需要從我的流中調用我的java類的方法。實際上是另一種方式:我需要從我的Java代碼中調用Mule端點或變換器來填充會話密鑰池,並在密鑰過期時更新池等。如果這有意義嗎? –
嘿,回顧我的答案。 –
謝謝,我實際上一直在閱讀您的書,並擔心將我的組件與Mule的內部組件結合在一起。 MuleClient/MuleContextAware是最好的「壞」嗎? –