使用 Spring BlazeDS Integration 1.0

工程 | Jeremy Grelle | 2009 年 6 月 11 日 | ...

今天我們宣布開放原始碼 Spring 專案組合的最新成員 Spring BlazeDS Integration 1.0 GA 版本的公開可用性。 配合這次活動,我認為是時候更新我之前的入門文章了。 總而言之

這個專案的目的是更容易地使用 Adobe Flex 作為前端客戶端來建構 Spring 驅動的豐富網際網路應用程式。 它的目標是透過提供一流的支援來達成此目的,將開放原始碼 Adobe BlazeDS 專案及其強大的遠端處理和訊息傳遞功能與熟悉的 Spring 程式設計模型結合使用。

試用 Spring BlazeDS Integration

自第一個 M1 版本以來,我們確實擴展了功能集,包括
  • 完整的 Spring Security 整合
  • 非同步訊息傳遞支援(具有 3 種不同的訊息目標類型)
  • 完整的 XML 組態命名空間
  • 基於註解的遠端處理組態選項
  • 眾多進階自訂掛鉤

專案發行版現在包含與 Adobe 合作建構的完整範例集合,這些範例展示了各種功能的使用,稱為 Spring BlazeDS Integration Test Drive。 這些範例是開始使用該專案的好方法,在這裡我將為您快速介紹一下……

在 dm Server 2.0 M3 中進行複製

工程 | Glyn Normington | 2009 年 6 月 10 日 | ...

複製是 dm Server 2.0 中的一項功能,它將某些套件組合和程式庫複製到作用域應用程式(即 PAR 或作用域計畫)中,如路線圖中所述。

dm Server 中對複製的支援在過去的幾個 sprint 中穩步發展。 基本機制已在 M1 中到位:可以觸發複製

  • 透過在 import-library 或 import-bundle 上指定指令 sharing:=clone 手動執行
  • 當作用域應用程式由於 uses 限制違規而無法解析時自動執行。

從那時起,程式碼進行了清理,針對複製 Spring Framework 的常見情況添加了主要的效能最佳化,添加了日誌訊息以指示已複製哪些套件組合,改進了追蹤,並修復了一些錯誤。

我們注意到手動複製是一項相對安全的操作,因為它完全在使用者的控制之下。 但是,自動複製始終是推測性的。 它由 OSGi 解析器故障驅動,特別是 uses 限制的違規(如較早的部落格中所述)。 某些 uses 限制違規無法透過複製來避免,但在嘗試自動複製且使用了……之前,我們無法判斷

Spring Security 3.0.0.M1 已發布

工程 | Luke Taylor | 2009 年 6 月 3 日 | ...

我們很高興地宣布,Spring Security 3.0 的第一個里程碑現在可以下載了。 該版本也可以透過 Maven 里程碑儲存庫取得,網址為http://maven.springframework.org/milestone. 與 Spring 3.0 一樣,這是第一個需要最低 JDK 1.5 才能運行的版本,並且還需要 Spring 3.0,因此如果您還沒有使用 Spring 3.0.0.M3 版本,則應該取得它。 那麼,此版本中有哪些新功能和變更?

基於表達式的存取控制

此版本是第一個包含我們基於 Spring-EL 的授權支援預覽的版本。 您現在可以在方法註解和 Web 安全性中使用表達式。 與熟悉的屬性和基於投票者的機制相比,這開闢了許多新的可能性。 一個簡單的範例可能是一個好的開始。 這是 Web 應用程式的一個範例,使用安全性命名空間

  <http use-expressions="true">
     <intercept-url pattern="/secure/**" access="hasRole('ROLE_SUPERVISOR') and hasIpAddress…

Red Hat 對 SpringSource 的領導地位做出反應

工程 | Rod Johnson | 2009 年 6 月 3 日 | ...

正如 the Register幾個 部落客 指出的, Red Hat 最近宣布了一項防禦性舉措,其動機是試圖趕上 SpringSource。 顯然,SpringSource tc Server 和 dm Server 的勢頭,以及 Spring Framework 作為企業 Java 事實上的標準組件模型的不斷進步,使 Red Hat 感到擔憂。

“JBoss Open Choice 策略”似乎是一種重新封裝,而不是新技術,它試圖將 JBoss 定位為在不斷變化的需求的美好新世界中仍然具有相關性。 不僅重新封裝顯然是被動的,而且很多……

OSGi Web Container 對於 dm Server 的意義

工程 | Rob Harrop | 2009 年 6 月 1 日 | ...

繼我的上一篇文章之後,許多人一直在詢問轉向 OSGi Web Container 對 dm Server 的影響。 最常被問到的問題是

  • 新增了什麼?
  • 哪些保持不變?
  • 有哪些變更?
  • 我如何保持最新狀態?

我將分別解答每個問題。 如果您有任何其他問題,請隨時發表評論。

新增了什麼?

與 Web Container RI 整合將使 dm Server 能夠存取 OSGi Web Container 標準的所有功能。 這包括用於處理 WAR 的標準模型、對 webbundle URL 方案的支援以及對 Web Container 擴充程式的支援。

我正在探索 RI 的一些不錯的增值功能,包括使用 ConfigAdmin 進行動態組態、用於內省已部署的 Web 套件組合的全面 MBean 介面以及用於監控生命週期事件的 EventAdmin 整合。 所有這些功能都將添加到 dm Server 以及 RI 中。

哪些保持不變?

您會很高興地得知,您在 dm Server 中學到的許多關於 Web 應用程式的知識仍然相同。

使用 dm Server 部署器

除了支援 webbundle URL 之外,WAR 檔案仍然可以使用 dm Server 部署器進行部署。 支援所有進入部署器的路徑,包括提取目錄、部署器 MBean 和管理控制台。

使用 dm Server 部署器進行部署時,將從已組態的儲存庫鏈中可用的套件組合自動安裝 WAR 檔案相依性。

WAR 部署模式

程式設計人員指南中提到的所有 WAR 類型都保持不變 - 事實上,它們是 Web Container 標準的一部分。

系統套件匯入

即使此功能沒有進入標準,使用 dm Server 部署的 WAR 也會自動匯入所有已組態的系統套件。 如果使用 webbundle URL 進行部署,您可以使用 URL 參數觸發系統套件匯入。 我希望規格能夠包含此領域中的一些標準行為

有哪些變更?

我們的目標是使 dm Server 中的大多數功能保持不變,但轉向 Web Container 確實需要進行一些變更。 同時,我們正在利用程式碼重構來整合從使用者那裡看到的一些較受歡迎的功能請求。

正在移除 Web 模組

最大的變更是移除了 Web 模組。 我們更喜歡支援基於標準的方法,並且現在我們已經能夠與 OSGi Alliance 合作建立基於標準的 OSGi Web 應用程式方法,因此我們將轉向它,而不是 dm Server 特定的解決方案。

對於今天正在使用 Web 模組的您來說,我真的很有興趣了解您最喜歡哪些功能,並且會很難失去這些功能。 沒有理由不能在 Web Container Web 套件組合之上重新設計重要的 Web 模組功能。

切換到 Tomcat 組態格式

在 1.0.x 系列中,嵌入在 dm Server 中的 Tomcat 實例是使用 JSON 組態檔案格式進行組態的。 我們的許多使用者都要求我們切換回使用 Tomcat 的 XML 格式。 Web Container RI 使用標準 Tomcat 格式,並且當 dm Server 切換到 Web Container 時,它也會切換組態檔案格式。

我仍在確定組態檔案將儲存在何處的確切詳細資訊。 我希望能夠使用可以從 ConfigAdmin 填充的佔位符來參數化 Tomcat 組態檔案

我如何保持最新狀態?

保持最新進度的最簡單方法是追蹤 Web Container 和 dm Server Web 的 SVN 儲存庫。 您可以在以下 URL 存取這些儲存庫

我會定期在這裡發布部落格文章,您可以透過 #osgi#dmserver 在 Twitter 上關注進度。

Spring Roo 入門

工程 | Ben Alex | 2009 年 5 月 27 日 | ...

更新:「Spring Roo 簡介」部落格系列的第三部分現已推出,並詳細介紹了 Roo 的內部架構。

我必須坦白一件事。你們很多人都知道我近幾個月來一直忙於 Spring Roo 的開發,但我也還有一個尚未提交到 Subversion 的獨立專案。這個專案是關於我們的婚禮籌備,因為下個月我和我的未婚妻將出國結婚。所以當我思考這次部落格文章要呈現什麼關於 Roo 的內容時,我突然想到我應該藉此機會使用 Roo 來建立我們婚禮的 RSVP 回覆網站!所以今天我們將學習如何使用 Roo 建立婚禮 RSVP 網站,我的一些同事認為這是一個追求工作與生活平衡的典範。 :-)

進度更新

如果你錯過了 2009 年 5 月 1 日 Spring Roo 部落格系列的 第一篇,簡單來說,我介紹了 SpringSource 新的開放原始碼生產力工具的願景,它旨在幫助那些想要快速建構最佳實踐 Java Spring 應用程式的人。許多體驗過 alpha 版本的人發現,Spring Roo 提供了一種強大且易於使用的應用程式開發方法,而 Roo 背後的許多動機都源於第一個 Jira issue,ROO-1(由 Spring 之父兼 SpringSource CEO Rod Johnson 記錄)。

今天我很榮幸地宣布,我們剛剛發布了 Spring Roo 1.0.0.M1。此版本不僅包含了大量的錯誤修復、增強功能和 31% 的效能提升,還包含了一系列令人興奮的新功能,包括 電子郵件服務JMSSpring Web Flow、簡化的安裝和自動 Selenium 支援。 這些都建立在 alpha 版本中已有的許多功能之上,正如我在 先前的部落格文章 中提到的。

除了開發第一個 milestone 版本之外,在過去的一個月中,我們還建立了開放原始碼專案常見的公共專案基礎設施。 我們現在提供 社群支援論壇、Jira 問題追蹤、公共 Subversion 儲存庫、FishEye 原始碼監控其他資源。 一些關於 #roo Twitter 的評論…

OSGi Web 容器簡介

工程 | Rob Harrop | 2009 年 5 月 27 日 | ...

已更新:新增了 Git 的版本控制說明。

在過去幾個月中,我一直與 OSGi Enterprise Expert Group 的 Subbarao Meduri、Graham Charters、Hal Hildebrand 和其他人一起研究 RFC66 Web 容器規範。 Web 容器規範定義了如何以標準方式在 OSGi 服務平台上部署 WAR 檔案。

這對我們來說非常有趣,因為 dm Server 已經支援 WAR 檔案將近 18 個月了,我們很高興能夠朝著標準模型努力。 作為最終使用者,你將能夠在 OSGi 上部署 WAR 檔案,而無需…

dm Server 2.0 M2

工程 | Andy Wilkinson | 2009 年 5 月 19 日 | ...

dm Server 2.0.0.M2 已經發布,現在可以 下載。 自 2.0.0.M1 以來的兩個 sprint 中,我們在最終版本方面取得了重大進展,無論是在新功能還是在缺陷修復方面。 如果你有興趣了解我們一直在做的事情,請查看 M2 版本說明。 請繼續透過在我們的部落格上發表評論、在 論壇JIRA 上提供你的回饋。

新增功能和值得注意的功能

Spring 3 支援

在此 milestone 版本中,我們已將 dm Server 升級為在 Spring 3 上執行。 隨著我們朝著 dm Server 2.0 的最終版本邁進,我們將隨著新的 milestone 版本和 snapshot 版本的發布而升級 Spring 3 的版本。

克隆的改進

我們在自動克隆的支援方面進行了一些重大改進。 例如,你現在可以在同一個 dm Server 中並排執行基於 Spring 2.5.6 和 Spring 3 的應用程式。

受監控的儲存庫

已新增對受監控儲存庫的支援。 受監控的儲存庫被配置為監控你檔案系統上的目錄,並且隨著工件被添加到目錄中,它們將可供 dm Server 的配置系統使用。 同樣,隨著工件從目錄中移除,它們將不再可供 dm Server 的配置系統使用。

以下是受監控儲存庫的一些範例配置

"watched-repo" : {
    "type" : "watched",
    "watchDirectory" : "repository/watched",
    "watchInterval" : 5
}

將 OSGi Profile 與 Bundlor 搭配使用

工程 | Ben Hale | 2009 年 5 月 18 日 | ...

當管理和轉換像 SpringSource Enterprise Bundle Repository 中包含的那麼多的 bundle 時,很難記住哪些 package 是啟動委派的、從系統 bundle 或系統中的其他 bundle 導出的。 此資訊非常重要,因為你可能不想匯入啟動委派的 package,你可能希望以 "0" 匯入系統 bundle package,並且你想要為所有其他 package 定義自訂匯入。 記住哪些 package 屬於這些類別最終會容易出錯,並且定義模板…

Grails 1.1.1 發布,支援 Google AppEngine

工程 | Graeme Rocher | 2009 年 5 月 14 日 | ...

今天我們很高興宣布 Grails 1.1.1 的發布,它在 Grails 1.1 的基礎上提供了許多增量改進,同時也正式支援 Google AppEngine

Groovy 本身自從發布以來就一直在 AppEngine 上運行,但我們必須在 Grails 中進行一些調整,才能讓 Grails 應用程式在 AppEngine 上運行。

其中包括引入一個 AppEngine plugin,它將 Hibernate 替換為 JDO(很快會換成 JPA),以便在持久化方面利用 Google 的 DataStore API。 AppEngine plugin 還整合了 AppEngine 開發…

取得 Spring 電子報

透過 Spring 電子報保持聯繫

訂閱

搶先一步

VMware 提供培訓和認證,以加速你的進展。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔。

了解更多

即將舉行的活動

查看 Spring 社群中所有即將舉行的活動。

查看全部