使用 Maven 獲取 Spring 3 工件

工程 | Keith Donald | 2009年12月2日 | ...

一位最近的評論者在這裡抱怨道:“只有一半的人在使用 Maven”,並指出如何使用 Maven 獲取 Spring 3 工件並不明顯。在這篇文章中,我將向您展示如何做到這一點以及有哪些選項。這些資訊也將整合到即將釋出的 Spring 3 最終版本的參考文件中。

釋出 Spring 工件的 Maven 倉庫

通常,Spring 將其工件釋出到兩個不同的地方

  1. Maven Central,這是 Maven 查詢的預設倉庫,無需任何特殊配置即可使用
  2. 企業捆綁包倉庫 (EBR),由 SpringSource 執行,也託管所有與 Spring 整合的庫

因此,在使用 Maven 獲取 Spring 時,您首先需要決定從哪個地方獲取。通常,如果您關心 OSGi,請使用 EBR,因為它包含所有 Spring 依賴項(如 Hibernate 和 Freemarker)的 OSGi 相容工件。如果 OSGi 對您不重要,則任一地方都可以,儘管它們之間存在一些優缺點。通常,為您的專案選擇一個地方;不要混用。這一點尤其重要,因為 EBR 工件使用與 Maven Central 不同的命名約定……

Spring Framework 3.0 RC3 釋出

工程 | Juergen Hoeller | 2009 年 12 月 01 日 | ...

我們決定在正式釋出 (GA) 之前再發佈一個 Spring 3.0 的釋出候選版本:請從下載頁面獲取,進行全面的測試,並告訴我們您的使用情況。Spring 3.0 現在正在等待您的整合測試反饋,並計劃在十二月中旬正式釋出。

此釋出候選版本帶來了一些增強功能:例如,新的 <mvc:*> 名稱空間功能得到了擴充套件,以及對啟動/關閉行為的進一步修訂(影響訊息監聽器和計劃任務)。請隨意嘗試這些新功能!我們也很想了解現有 Spring 2.5 應用程式的升級體驗,因為我們預計您的許多應用程式將選擇性地採用 3.0 的功能……同時保留大部分現有程式碼…

Eclipse.org 上的 Gemini 專案提案

工程 | Adrian Colyer | 2009年11月24日 | ...

本週,Gemini 專案提案 在 Eclipse.org 上公佈。Gemini 是 Eclipse RT(執行時)專案的一部分,該專案“旨在在 Equinox 框架和 OSGi 的基礎上,在 Eclipse 中促進、推廣和容納執行時工作”(Eclipse RT 任務宣告)。Gemini 本身是一個傘形專案,彙集了一系列專為企業應用程式開發而設計的模組。SpringSource 和 Oracle 是首批為該專案提供提交者的兩家公司,其他幾家公司也表示有興趣加入。

最初貢獻的專案包括……

最新 Cloud Foundry 中的新功能

工程 | Charles Lee | 2009 年 11 月 23 日 | ...

我們最近更新了 CloudFoundry.com。透過此次更新,我們引入了幾個令人興奮的新功能,為未來的發展鋪平了道路。我想借此機會描述和解釋這些功能,並提供一些關於它們是如何產生的背景資訊。我們很高興您能嘗試這些功能並向我們提供反饋。

成本跟蹤

雖然雲的按使用付費模式可以減少開支,但重要的是要跟蹤實際使用情況和成本,以免產生意外的高額賬單。以前,Cloud Foundry 會告知使用者其部署的當前消費率。這對於瞭解費率很有用,但它不能清楚地瞭解或統計應用程式部署實際花費了多少。Cloud Foundry 的最新更新為成本跟蹤引入了新的歷史功能。對於正在執行的部署,Cloud Foundry 會顯示迄今為止的成本。對於不再活躍的部署,會顯示該部署在其整個生命週期內的總成本。

Screen shot 2009-11-18 at 12.59.52 PM

除了防止月度賬單給您帶來驚喜之外,當您需要將每個應用程式的成本與預算進行比較時,這尤其有用。如果您的預算是根據業務目標與支出金額的相關性得出的,那麼 Cloud Foundry 將清楚地顯示您是否已實現目標。隨著時間的推移,我們希望改進此功能,使其更準確(目前不包括網路 I/O 費用),並擴充套件成本與其他運營指標之間的統計相關性,為您提供更好的目標設定和規劃工具。

可用區

許多使用者都要求能夠為部署指定可用區,因為 EC2 中的預留例項需要在指定的可用區中啟動。預留例項是預付費的,成本約為按需例項的三分之一。Cloud Foundry 現在提供了指定可用區的功能,在配置部署時,選擇輸入位於區域下方。

Screen shot 2009-11-19 at 10.46.12 AM

注意:成本跟蹤不反映使用預留例項的成本節省,因為 Amazon 尚未提供方便的計費詳情檢索方式。

維護頁面

如果您需要因維護而停用 Java Web 應用程式,通常的做法是顯示一個“緩衝頁”(也稱為維護頁),告知使用者應用程式不可用。Cloud Foundry 現在只需單擊一個按鈕即可提供此功能。首先,在新增或編輯應用程式時,您會注意到一個新欄位:維護頁。這是您希望在維護模式下顯示的靜態頁(來自應用程式的根上下文)。部署後,您可以透過轉到“部署詳細資訊”頁面,然後單擊“開始維護”來顯示維護頁,或者單擊“結束維護”來恢復正常服務,從而在維護和正常操作之間進行切換。這是提供完整應用程式生命週期管理支援的一個小步驟。我們上個月介紹了與開發人員工具的整合,並且我們將分析和確定在雲中應用程式的開發和部署過程中應支援的各種生命週期階段。

克隆部署

由於各種原因,需要複製具有相同配置的環境,現在 Cloud Foundry 提供了一種簡單的方法,可以透過部署詳細資訊頁面上的“克隆”按鈕克隆部署。基於現有部署建立重複部署在與維護功能結合使用以升級應用程式時特別有用。“克隆”按鈕在您的部署使用 EBS 卷時啟用。系統將提示您為克隆命名,並且所有配置都將被複制並啟動到一個新部署中。克隆部署啟動後,您可以點選“應用程式”部分中的“重新部署”按鈕來部署不同版本的應用程式或完全不同的應用程式。

Screen shot 2009-11-18 at 2.24.05 PM

升級應用程式的活動部署可能涉及一系列步驟
  1. 將測試過的應用程式上傳到 Cloud Foundry
  2. 在當前部署上啟用維護頁面
  3. 克隆部署
  4. 執行 SQL 指令碼以遷移資料庫架構
  5. 使用較新版本的應用程式重新部署
  6. 重新配置彈性 IP,以便從靜態 IP 地址提供新部署的服務
  7. 停止舊部署
藉助克隆功能,透過利用現有的生產部署配置,升級正在執行的應用程式可以變得順暢可靠。

附加指標和圖表

在 Cloud Foundry Beta 版的最新發布中,我們透過擴充套件收集的指標數量以及新增使用者介面功能來改進了監控功能。首先,已新增 Hyperic SIGAR 檔案系統指標,以提供對 VM 根磁碟和資料庫儲存上關鍵磁碟使用資訊的監控。這些指標現在在例項詳細資訊區域可見。其次,已新增客戶端請求數量作為指標。Cloud Foundry 收集此資料並將其轉換為每分鐘基於速率的指標,從而為您提供應用程式的使用量度。此指標顯示在改進的部署詳細資訊部分中,作為帶有聚合值(最大值、最小值和平均值)列表的圖表。

Screen shot 2009-11-18 at 3.44.20 PM

這只是提供動態監控顯示器的開始,它將提供有用且相關的操作指標和資料。隨著時間的推移,我們將新增更多用於效能、健康狀況和資源消耗的指標。

Spring 3 型別轉換和驗證

工程 | Keith Donald | 2009年11月17日 | ...

Spring 3 最終版本即將釋出,它將是一個很棒的版本。在這篇部落格文章中,我將帶您瞭解 Spring 3 的一些型別轉換和驗證增強功能。無論您是開發傳統的 Web 應用程式、桌面應用程式還是“下一代”RIA,資料繫結、型別轉換和驗證都是重要的領域。正如您在這篇文章中將看到的,Spring 3 在這些領域為您帶來了顯著的升級,同時保持了與以前版本的向後相容性。

新系統目標

在我介紹功能之前,我想首先強調……

理解您應用程式的價值

工程 | charris | 2009 年 11 月 16 日 | ...

我們都喜歡用最新最好的技術構建應用程式,但歸根結底,我們是為了交付實現業務目標的應用程式而獲得報酬的。我們在每個開發迭代中都專注於如何最好地實現這些目標,但我們如何知道最新的迭代是否實現了其目標?最新的版本是否影響了應用程式正在實現的現有業務目標?

SpringSource 透過 Spring 儀器、顯示趨勢的監控工具以及允許您匯出的報告工具,為您提供應用程式的可見性,從而實現這一功能…

Spring Framework 3.0 RC2 已釋出

工程 | Juergen Hoeller | 2009 年 11 月 13 日 | ...

我很高興地宣佈,今天我們釋出了第二個 Spring 3.0 釋出候選版(下載頁面)。此版本在幾個方面對 RC1 進行了關鍵改進,特別是在以下方面:

  • Spring 3.0 RC2 完全符合 JSR-330 標準,並通過了 TCK 的最終版本。JSR-330,也稱為“Java 依賴注入”,基本上標準化了帶有限定符模型的 @Inject 註解。現在可以使用“javax.inject”註解作為 Spring 自有的 @Autowired 和 @Qualifier 註解的替代。Spring 的 <context:annotation-config> 元素也會自動啟用 JSR-330 處理(如果存在“javax.inject”API)。

  • 專用的 AnnotationConfigApplicationContext:使程式化引導儘可能方便,無需任何 XML。支援帶註解類的顯式註冊以及類路徑中的元件掃描。這不僅適用於 Spring 的 @Component 模型,也適用於 @Configuration 類(又名“JavaConfig”)和符合 JSR-330 的類。

隆重推出 Spring Batch Admin

工程 | Dave Syer | 2009 年 11 月 10 日 | ...

Spring Batch Admin 提供了一個基於 Web 的使用者介面,其中包括一個用於 Spring Batch 應用程式和系統的管理控制檯。這是 SpringSource 的一個新開源專案。里程碑版本 1.0.0.M1 將很快釋出,包含以下所有功能,我們希望在 2010 年初實現 1.0.0 正式版釋出。

主要用例

最快了解 Spring Batch Admin 的方法是檢視一些主要用例的螢幕截圖。使用者介面是一個 Web 應用程式(使用 Spring MVC 構建)。

檢查作業

作業檢視 使用者可以檢查系統中已知的作業。作業分為可啟動和不可啟動(在螢幕截圖中,它們都是可啟動的)。區別在於,可啟動作業是在應用程式本身中定義和配置的,而不可啟動作業是透過另一個程序中作業的執行所留下的狀態檢測到的。(Spring Batch 使用關係資料庫來跟蹤作業和步驟的狀態,因此可以查詢歷史執行以顯示不可啟動的作業。)

啟動作業

啟動作業檢視 可以透過使用者介面啟動可啟動的作業,透過提供的名稱-值對的作業引數,或者透過應用程式中配置的增量器來啟動。

檢查執行

作業執行檢視 作業執行中或已執行後,可以使用此檢視檢視最近的執行以及它們的簡要狀態摘要(STARTED、COMPLETED、FAILED 等)。作業執行檢視 每個單獨的執行都有一個更詳細的檢視(如上所示),然後使用者可以單擊進入作業中每個步驟執行的檢視(在本例中只有一個)。執行此操作的一個常見原因是檢視失敗的原因。步驟執行(頂部)檢視 步驟執行詳細檢視的頂部顯示了該步驟在所有作業執行中的執行歷史記錄。這對於獲得性能特徵的統計感覺很有用。在整合測試環境中執行作業的開發人員可能會使用這裡的統計資訊來比較作業的不同引數化,以檢視更改(例如)專案處理步驟中的提交間隔的效果。步驟執行(底部)檢視 步驟執行檢視的底部是步驟的詳細元資料(狀態、讀取計數、寫入計數、提交計數等)以及導致步驟失敗的任何異常的堆疊跟蹤摘錄(如上例所示)。

停止執行

停止作業執行檢視 使用者可以停止正在執行的作業(無論其是否可啟動)。停止訊號透過資料庫傳送,一旦 Spring Batch 在執行該作業的任何程序中檢測到,該作業就會停止(狀態從 STOPPING 變為 STOPPED),並且不再進行進一步的處理。

在哪裡獲取

最好的起點是SpringSource 社群下載頁面。還有一個快照下載附在此文章中,或者您可以從subversion 獲取原始碼並自行編譯。快照構建每天晚上也會上傳到 S3 的 Maven 儲存庫
<repository>
	<id>spring-snapshots</id>
	<name>Spring Maven Snapshot Repository</name>
	<url>http://s3.amazonaws.com/maven.springframework.org/snapshot</url>
</repository>

有兩個 JAR 構件和一個 WAR 示例(org.springframework.batch:spring-batch-admin…

Cloud Foundry 整合到開發工具中

工程 | Charles Lee | 2009 年 11 月 10 日 | ...

感謝其他 SpringSource 專案團隊的努力,我們很高興看到三款開發工具與 Cloud Foundry 整合,即 SpringSource Tool Suite、Grails 和 Roo。其結果是,您可以建立和開發您的 Spring 或 Grails 應用程式,並在雲中執行它們,而無需離開您喜歡的 IDE 或命令列介面。這些工具利用 Cloud Foundry 客戶端 Web 服務 API(即將釋出),並利用雲中額外的智慧和 SpringSource 工件儲存庫,實現最佳化、高效的上傳……

dm Server 2.0.0.M6

工程 | Ben Hale | 2009年10月27日 | ...

dm Server 2.0.0.M6 現已釋出,可從此處下載。

此版本緊隨 M5 版本釋出,我們正逐步接近第一個 2.0.0 候選版本。這一次,我們非常注重修復未解決的缺陷,並且只添加了少量新功能。請檢視 M6 釋出說明,瞭解我們修復的所有缺陷和新增的功能的完整詳細資訊。請繼續在我們的部落格評論區、論壇JIRA 上提供您的反饋。

新增和值得注意

將 dm Kernel 和 dm Server 作為服務執行

dm Kernel 和 dm Server 現在可以在 Windows 和 UNIX 機器上作為服務啟動。要在 Windows 上安裝服務,您需要編輯$HOME/bin/service/conf/wrapper.conf檔案以正確列出核心或伺服器的路徑。然後執行$HOME/bin/service/windows.bat install。還有其他要執行的命令,dm Server 文件介紹了其他命令。

UNIX 使用者更容易,因為$HOME/bin/service目錄包含許多init.d相容……

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視所有