簡體   English   中英

EJB Web服務事務

[英]EJB web services transactions

我們有一些產品可以使用各種形式的Web服務進行通信。 有些使用通過http請求(HttpClient)傳遞的直接XML。 其他人則進行遠程EJB調用,而另一些人則在EJB會話bean方法上使用EJB 3 Web服務。 在HttpClient版本中,我們遇到了以下問題:遠程端需要10分鍾以上的時間才能完成數據庫操作,並且調用方超時。 呼叫者此時不知道數據是否在遠端。 有時我們會在遠端插入數據,但由於無法確定狀態,因此呼叫者超時並回滾。

我知道,將這兩者解耦並在兩者之間放置一個消息傳遞層(如JMS)將使我們能夠保證傳遞並且不會阻塞,但是我們必須編寫大量額外的代碼來檢查事務是否成功了或在遠端失敗。 這絕對是一個選擇,但是有什么好的解決方案可以寫在兩端之間有握手的情況下,無論是由於異常,超時還是網絡問題,以及事務的末尾,整個事務都會失敗。兩個應用程序之間的交互都將確定整個事務是成功還是失敗? 此遠程EJB sessionbean方法調用是唯一/最佳選擇嗎?

聽起來您需要WS-AT實現。 閱讀交易回滾和Web服務上的討論

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM