Oracle 向 Spring Framework 貢獻 Oracle 應用伺服器整合程式碼

工程 | Rod Johnson | 2007年2月27日 | ...

關於應用伺服器擁抱 Spring 的主題,又有一個更新。Oracle 一直致力於為其應用伺服器提供增值整合。

這與我們WebLogicJtaTransactionManager中WebLogic 8.1及更高版本的情況類似。在OC4J環境中,OC4JJtaTransactionManager應取代通用的JtaTransactionManager使用,並提供以下好處:

  • 無需使用JNDI查詢即可直接訪問事務管理器和輔助類
  • 自動檢測伺服器版本,以充分利用不同版本中不同的事務管理器實現
  • 控制事務隔離級別:JTA中不提供的一項非常有用的功能

對於熟悉 JTA 的人來說,使用 UserTransaction(正如你在 Java EE 中以程式設計方式控制事務時所做的那樣)存在一些顯著的不足,這可能是可以理解的,因為在近十年前 J2EE 最初構想時,存在一個現已廢棄的假設,即沒有人會想在沒有 EJB 的情況下進行事務管理。

問題在於,某些操作(例如掛起事務,以獲得“requires new”語義)只能透過 TransactionManager 進行。此介面在 JTA 規範中是標準化的,但與 UserTransaction 不同,它沒有提供眾所周知的 JNDI 位置或其他獲取它的方式。其他一些事情,例如控制隔離級別或伺服器特定的“事務命名”(用於監控或其他目的),使用 JTA 完全不可能實現。

由於 Spring 提供了一個豐富、可移植的事務抽象,它會在底層驅動 JTA 和其他 API,因此你的程式碼不需要了解任何底層基礎設施,從而可以利用任何提供更高級別控制或更高效率的專有 API。Spring 支援宣告式和命令式事務,因此你可以將事務管理應用於對它一無所知的 POJO;或者,如果事務管理是你的業務邏輯的一部分,你可以使用一個更優雅的 API,它比 JTA 提供更多功能,不依賴於 JNDI,並且使用起來要簡潔得多。

這段程式碼將進入 Spring 核心,並將隨 Spring 2.0.3 一起釋出。感謝 Oracle 一如既往地支援 Spring。Spring 在他們的 Fusion Middleware 平臺及其 SCA 戰略中發揮著重要作用。當然,Interface21 也是 SCA 合作伙伴的創始成員,我們正在與 Oracle、BEA、IBM 等公司合作開發 Spring 的 SCA 繫結。正如 Oracle 高階 SCA 人員 Greg Pavlik 去年在他的 部落格中寫道,這帶來了很多好處,Spring 應用程式開箱即用即具備“SCA-就緒”能力。

最後,從 Java 程式設計師的角度來看,一個非常令人興奮的訊息是:現在有了一個 Spring 整合,允許基於 Spring 的應用程式直接連線到基於 SCA 的 SOA 環境。隨著 Spring 在許多組織中成為構建 J2EE 應用程式的事實標準,我們正在為這些投資開啟透明的基於 SCA 的整合之門。此外,對於 Java 開發人員來說,現在有一個實用的開源解決方案,可以輕鬆上手 SCA,而無需擔心新的學習曲線或大量的複雜概念。有了 Spring,一切都可以是 POJO:一切都如此簡單。有很多人直接問我關於 Java 程式設計和 SCA 的問題。Spring 是一個很好的答案。
這讓我想起:SCA Java 工作組有一些有趣的事情正在發生,Adrian(他在 Interface21 負責這項所有繁重的工作!)或者我應該找個時間釋出一個正式的更新……

Oracle 還有進一步關於 HA 功能的想法,未來會繼續跟進;這裡肯定有一些有趣的可能,特別是圍繞 RAC,這是我們許多大型企業客戶使用的。他們對進一步整合 Spring 和 Oracle 技術有濃厚的興趣,所以請將任何想法反饋給我們,或者透過你的 Oracle 聯絡人進行反饋。Oracle 還維護了一個出色的關於 Spring 整合的 資源頁面

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有