2015-04-08 102 views
0

我正嘗試從獲取消息IBM Websphere MQ使用Oracle服務總線。 我已啓用OSB中的「XA」連接工廠並檢查了「事務要求」複選框。 但是,當我檢查「相同的事務對於響應」複選框,我得到「pipelineException」。使用Oracle Service Bus獲取IBM websphere MQ消息

有人知道這個問題?? 是否有任何描述整個過程的指南或文檔?(不知道我是否在正確的軌道上。)

+0

什麼是完整的堆棧跟蹤?另外,你如何配置你的代理服務?請分享配置。 – plkmthr

回答

1

OSB的構建方式使得請求管道和響應管道使用不同的線程。當說不同的線程時,執行請求管道的線程一旦到達請求管道的末尾就完成了。分配一個新線程用於通過weblogic執行響應管道。

現在進入「Same transaction For Response」選項,這僅僅意味着請求和響應管道應該使用相同的線程而不是新線程。

當存在非常嚴格的錯誤監控(主要是同步案例)時,應該使用「Same transaction For Response」選項。例如,如果流量是在如下狀態,

MQ客戶端> OSB應用<> HTTP後端/同步JMS

然後,

  • (與場景 「相同事務有關響應」 不啓用) - 如果 同步後端不發送響應,並且如果存在異常,則該異常不會傳播到OSB響應
    管道,因爲請求線程已完成並且它執行初步問題 完成後的迴應是什麼。所以OSB就好像沒有任何 發生在後端。

  • (在啓用了「Same transaction For Response」的情況下) - 如果後端引發前面場景中提到的任何錯誤,則正在等待的請求線程捕獲錯誤,然後拋出異常它可以找到的即時錯誤處理程序。 (舞臺錯誤處理程序,代理錯誤處理程序,系統錯誤處理程序 - 以相同的順序)。

現在來了您已突出顯示的錯誤,並啓用了該選項,我想這應該是從您的後端發送的一些錯誤。請檢查您從下游得到的迴應是什麼,並相應地進行糾正。