Oracle 向 Spring Framework 貢獻 Oracle Application Server 整合程式碼

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

關於應用伺服器採用 Spring 的主題,另一個更新。 Oracle 一直在致力於與其應用伺服器進行增值整合。

這類似於我們在 WebLogicJtaTransactionManager 中與 WebLogic 8.1 及更高版本所擁有的。 OC4JJtaTransactionManager 應該在 OC4J 環境中代替通用的 JtaTransactionManager 使用,並提供以下好處

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

對於熟悉 JTA 的人來說,使用 UserTransaction(就像在 Java EE 中以程式設計方式控制事務時一樣)存在一些明顯的差距,這或許可以理解,因為 J2EE 最初構思時(近十年前)的過時假設是,沒有人希望在沒有 EJB 的情況下進行事務管理。

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

由於 Spring 提供了豐富的、可移植的事務抽象,因此它在底層驅動 JTA 和其他 API,因此您的程式碼不需要了解底層基礎設施的任何資訊,因此可以利用任何專有 API 來提供更多的控制或更高的效率。 Spring 支援宣告式和程式設計式事務,因此您可以將事務管理分層到不了解任何相關資訊的 POJO 上;或者,如果事務管理是業務邏輯的一部分,則可以使用比 JTA 更優雅的 API,該 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:從頭到尾都是 turtle。 我有很多人直接問我關於 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 社群中所有即將舉行的活動。

檢視所有