揭穿神話:代理影響效能

工程 | Alef Arendsen | 2007 年 7 月 19 日 | ...

在最近的一篇部落格文章中,Marc Logemann 談到了代理效能的主題。在他的文章中,他要求“Spring 開發者”提供一份白皮書。我不想花費大量篇幅討論代理和位元組碼織入機制之間精確到納秒的差異,但我確實認為重申這些差異以及這種討論是否重要是有價值的。

什麼是代理以及我們為什麼使用它們?

讓我們首先簡要回顧一下代理的用途(通常以及在 Spring 中)。根據 GoF(Gang of Four)關於 設計模式 的書,代理是另一個物件的替身或佔位符,用於控制對其的訪問。因為代理位於物件的呼叫者和實際物件之間,所以它可以決定阻止實際(或目標)物件被呼叫,或者在目標物件被呼叫之前做一些事情。prox.jpg

換句話說,代理可以用作真實物件的替身,以對這些物件應用額外的行為——無論是與安全相關的行為、快取還是效能測量……

Grails 和 Maven:一種不方便的結合

工程 | Dave Syer | 2007 年 7 月 14 日 | ...

介紹

Grails 似乎發展勢頭越來越好,並且看起來確實“有潛力”,正如他們所說。我很有興趣將這些潛力擴充套件到 Web 應用程式領域之外。如果您瞭解我在Spring Batch 上的工作,您大概可以猜出這會把我帶到哪裡。但在這篇文章中,我想分享一些我在 Grails 應用程式的基本、低階部署和構建方面的一些經驗。

我對 Maven 2 有一種愛恨交織的關係,而且我正在學習愛上 Grails,但遺憾的是,這兩者結合得並不好。這會…

建構函式注入與 Setter 注入以及 @Required 的使用

工程 | Alef Arendsen | 2007 年 7 月 11 日 | ...

幾個月前,我們在 www.springframework.org 上開始釋出問卷調查,徵求大家對 Spring、其功能以及使用方式的反饋。我提出的第一個問題是,大家是否會檢查必需的依賴項,如果會,他們使用了什麼機制。我很快就跟進了這個問題,詢問社群他們使用何種事務管理策略。

令我高興的是,當我第一次檢視結果時,在三月份,很多人透過第一個投票告訴我們,他們正在使用 @Required 註解。第二個…

Java EE 6 做的很對

工程 | Rod Johnson | 2007年7月3日 | ...

今天釋出了 Java EE 6 提案 (JSR 316)。我相信這將是該平臺自近 10 年前釋出以來最重要的修訂版,並且應該受到技術使用者的歡迎。Interface21 很樂意成為該 JSR 的支持者,我期待為其做出貢獻。

Java EE (在其大部分歷史中被稱為 J2EE) 在建立 Java 中介軟體市場方面發揮了寶貴的作用。然而,在這 10 年裡,該平臺出現了一些重要問題,例如:

  • 需要一個符合 Java EE 標準的伺服器,但它卻充滿了對絕大多數使用者幾乎不感興趣的功能。
  • 自從設想 J2EE 以來,企業需求已經發生了變化,並且“一刀切”的模式越來越不合適。
  • 隨著框架的出現 (尤其是在開源領域),企業 Java 得到了極大的加強,這些框架使開發人員更具生產力,並且他們的生產應用程式更高效、更易於維護。
  • Ruby on Rails 甚至 .NET 等新的挑戰表明,在快速變化和創新的時代,一個舒適的 2-3 年釋出週期會危及整個平臺。

Java EE 6 是該平臺一次重要的修訂,它…

開源是否正在消亡?未被證明

工程 | Rod Johnson | 2007年6月29日 | ...

Michael Hickins 最近在 eWeek 上發表了一篇題為 Is Open Source Dying (開源是否正在消亡) 的文章。這個標題吸引了我,無疑也吸引了許多其他人。但文章並未證明這一點,儘管它包含了一些值得討論的有趣觀點。

文章的大部分內容都在猜測政府使用開源的經驗以及 IBM 等供應商的動機。我更願意根據公司的行為來評判它們,而不是猜測它們的動機,而且有大量證據表明,例如 IBM 非常認真地對待開源。有大量的…

那麼,您是否仍應使用 Spring 的 HibernateTemplate 和/或 JpaTemplate??

工程 | Alef Arendsen | 2007年6月26日 | ...

前幾天我讀了 Vigil Bose 在 TSS 上關於 使用 Spring 進行動態路由的文章,看到了 HibernateDaoSupport 類的用法。由於這不再是推薦的從 Spring 使用 Hibernate 的方式,我想我不如再寫一篇部落格來談談。

隨著 Spring 2.0 的出現,可以再次開始直接使用 Hibernate Session API 了。問題在於,在使用 Hibernate 或 Spring 提供的其他模板化方法時,是否明智地放棄使用 HibernateTemplate。

使用 Spring XxxTemplates

在 Spring 1.0 中,我們引入了一種處理丟擲檢查性異常的資料訪問 API 的革命性方法。Spring 提供的模板方法與其事務同步管理器以及對執行時異常的廣泛使用,使得 2005 年我們創造的 TCFTC (try/catch-finally-try/catch 的縮寫) 在資料訪問程式碼中變得完全過時。下面您可以看到 (一個簡化且不完全精確的版本) Spring 的模板方法能為您做什麼 (包含您本應自己編寫的程式碼片段)。 template.png

獲取連線:如果事務同步處於活動狀態…

來自 SpringOne “超越顯而易見” 演講的程式碼示例

工程 | Joris Kuipers | 2007 年 6 月 25 日 | ...

上週在 SpringOne 大會上,Alef 和我做了一個關於使用 Spring 處理複雜應用程式的演講。在這種情況下,複雜性同時在結構和動態層面被考慮。至於演講的結構部分,我在我之前的部落格文章中已經介紹過。動態部分解釋了一些處理部署環境之間差異(測試、驗收、生產等)的可能解決方案。很多人問我是否可以提供我在演講中演示的原始碼。我已將原始碼附在此部落格文章中並會解釋……

批處理的力量

工程 | Rob Harrop | 2007年6月23日 | ...

在昨天的SpringOne大會的最後一場會議上,Dave Syer、Scott Wintermute、Lucas Ward和Wayne Lund都對Spring Batch進行了演講。我實際上沒有參加(因為我有一個很早的行程),但我還是湊了一眼,並且再次對人們的興趣程度感到震驚。

回到JavaOne大會,我們在這個解決方案上也獲得了巨大的關注,許多參觀者來到展位向我們諮詢批處理相關問題。

在這個 Ajax 和富網際網路應用程式的世界裡,人們很容易忘記,大量的 (或許是大多數?) 大型企業應用程式都是面向批處理的。批處理…

為 Spring Web Flow 進行負載測試

工程 | Rossen Stoyanchev | 2007年6月22日 | ...

對 Web Flow 應用程式進行負載測試與其他 Web 應用程式的負載測試類似——我們將使用負載測試工具來模擬不斷增加的併發客戶端訪問級別,以捕獲關鍵的效能統計資料。

在使用 Web Flow 時,負載測試有幾個重要的考慮因素:

  1. 負載測試必須維護獨立的“Cookie 儲存區域”,以便每個客戶端請求都可以攜帶獨立的 HTTP 會話。
  2. 我們需要一種機制來從初始響應中提取唯一的 Flow Execution Key,並將其用於自定義同一 Flow 會話中的後續請求。

Apache JMeter 是一個開源的效能測試工具,可以滿足以上兩個考慮因素。

對於 1),我們在exercising Web Flow 功能的每個測試組的根目錄下添加了一個 HTTP Cookie Manager 元素。Cookie Manager 確保每個模擬的客戶端請求都可以擁有自己的…

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視所有