領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多SpringOne 進展順利。今年是為期 3 天的展會,比去年的 2 天有所增加,再次看到數百名與會者參加 Spring 會議真是太棒了。這次我在展會上非常放鬆,因為開幕主題演講結束後我就沒有其他會議了,也不需要製作幻燈片。
現在,Adrian 正在準備宣佈關於 Spring 工具的一項重大訊息。嗯,實際上他正在對鴨子型別進行一次獨特的個人解讀,我確信您會聽到的……
稍後會詳細介紹,但首先我需要分享一些關於昨天的新聞。我很高興地宣佈,我們已與 IBM 合作,在 IBM 的旗艦產品 WebSphere Application Server 上認證了 Spring。由於 Interface21 的大部分客戶群都在大型企業中,我們看到了大量的 WebSphere 使用者,並且多年來一直希望確保理想的整合。很高興看到 IBM 也認同這一目標。客戶也是推動他們致力於整合的主要原因,因為其中許多客戶已經採用了 Spring 並從中獲得了巨大的成效。隨著 Spring 的採用從專案逐個專案轉向戰略性部署,此類客戶希望知道這種組合是可支援的,並且雙方供應商都支援它。
您可以閱讀 新聞稿。但是,由於新聞稿是面向管理人員的,並且在相關公司和公關機構之間會經過審查和反覆討論,直到變得毫無意義,所以我可能更容易用英語解釋這到底意味著什麼,而不是營銷術語。
如果您熟悉 Java EE 和 JTA 規範,您就會知道它們存在一些空白——尤其是,您如何處理諸如事務掛起等重要事項,而這些是您無法使用 UserTransaction 完成的。這些是邊緣情況,但當您遇到其中一種情況時,可能很難找到解決方法。雖然將事務管理委託給 Spring 遠比直接使用 JTA 要好(出於可測試性、異常處理和語義完整性的原因),但如果標準 JTA 功能是唯一可用的,那麼其功能的空白可能會有問題。
幸運的是,有一個解決方案可以幫助 Spring 最大限度地發揮底層平臺的潛力。Spring 提供了一個事務抽象——PlatformTransactionManager——它的語義比 JTA 更完整,但不對其環境做出任何假設。這是我們稱之為 **可移植服務抽象** 的一個關鍵例子。通常情況下,您不會直接使用 PlatformTransactionManager,因為 Spring 的宣告式事務管理為您提供了一個獨特的強大選項,可以將程式設計事務應用於任何 POJO,但它是 Spring 中宣告式和程式設計式事務管理的基礎。由於我們不對環境做出任何假設,並且環境細節不會洩露到您的程式碼中並降低可移植性,因此我們可以安全地利用平臺特定功能。我們已經為 WebLogic 這樣做了,Oracle 為 OC4J 這樣做了,現在我們與 IBM 合作,為 WebSphere 提供了首屈一指的整合。
遵循 Spring 的核心價值主張,我們處理了基礎架構,這樣您就無需操心。正如您所料,新的 WebSphere 事務管理器非常易於使用。如果您正在將 WebSphere 與 Spring 結合使用,您應該使用我們與 IBM 合作開發的新 PlatformTransactionManager 抽象。這是一個微不足道的配置設定。您將使用新的 WebSphereUowTransactionManager,而不是 JtaTransactionManager,如下所示:
更多技術細節請參閱 IBM DeveloperWorks 的文章 在 WebSphere Application Server 中使用 Spring 和 Hibernate。請注意,如果您以前讀過這篇文章(或者您的經理讀過之前的版本並因此感到擔憂),這篇文章已經得到了顯著更新。同樣在 DeveloperWorks 上,還有一篇關於我和 IBM 的 Paul Buck(WebSphere 開源總監)討論整合工作的訪談。
本文的作者之一,來自英國 IBM Hursley 實驗室的 Sara Mitchell,正在參加 SpringOne 大會,並將於明天就 WebSphere 上的 Spring 進行演講。Sara 在整合方面做了大量技術工作,很高興看到她透過我們的論壇和演講積極參與 Spring 社群。IBM 的 Savio Rodrigues 也出席了會議,並且似乎很享受這次盛會。