悉尼 Spring 使用者組第二次會議計劃

工程 | Ben Alex | 2006年7月29日 | ...
在我上一篇部落格文章中,我曾承諾會提供下一次使用者組會議的詳細資訊。在尋找合適的場地後,現已確定於2006年8月7日星期一在悉尼喬治街200號的 Cliftons 舉行。我們計劃了兩次演講。首先我將介紹 Spring 2.0 名稱空間,然後 Infocomp 的 Ramon Buckland 將介紹 Spring 的 SOA 和 JBI。訪問 Springframework.org 獲取完整詳情。

希望屆時能見到您。

歡迎來到 Interface21 團隊部落格

工程 | Keith Donald | 2006年7月7日 | ...

隨著 Interface21 作為一家全球性公司不斷發展,我每天都越來越清楚一件事

我們確實擁有一批才華橫溢、積極進取的領導者,他們在商業和技術方面都有很多話要說。
話雖如此,我們想要做的一件事就是為我們的員工提供一個方便、易於訪問的渠道,來分享他們的見解、經驗、想法和創新。經過一番幕後努力,我想我們做到了。歡迎來到 Interface21 團隊部落格。

在這裡,您將深入瞭解 i21 的最新動態,包括我們正在做什麼、我們正在解決什麼問題、我們未來的方向以及我們一路走來學到了什麼。您會看到很多多樣性,因為我們的公司正在做很多事情,從領導 Spring Framework 和 Spring 系列產品的開發到在五個主要的國際市場擴充套件業務。

整個部落格可透過 RSS 訂閱。此外,您還可以透過訂閱以下內容來關注您最喜歡的主題…

Spring 2.0 RC2 釋出

釋出 | Juergen Hoeller | 2006年7月6日 | ...

親愛的 Spring 社群:

我們很高興地宣佈 Spring 2.0 RC2 已釋出。  下載 | 文件 | 更新日誌

這是 Spring 2.0 最終版本之前的第二個釋出候選版本。它引入了多項錯誤修復和細微改進,特別是在 AOP 框架和 JPA 支援方面。請參閱更新日誌瞭解詳情。在即將釋出的 2.0 RC3 版本中,還將解決一些已知問題;詳情請參閱我們的 JIRA 路線圖。

請使用此版本嘗試您的應用程式,並告知我們您可能遇到的任何問題!需要強調的是,Spring 2.0 提供了與 Spring 1.x 系列的向後相容性。  Spring 2.0 還繼續支援 JDK 1.3+J2EE 1.3+(甚至 J2EE 1.2+,除了 JSP 標籤和 EJB 支援)。相容性對我們的使用者群至關重要,我們致力於提供它。因此,我們也對在任何此類平臺上可能出現的相容性問題感興趣。

感謝各位對本次釋出的所有反饋。  我們期待在 2.0 GA 釋出日期前收到更多反饋!

祝好,

Juergen Hoeller
Spring 2.0 產品開發負責人

Spring Web Flow 1.0 RC3 釋出

釋出 | Keith Donald | 2006年6月26日 | ...
 

親愛的Spring社群,

我們很高興地宣佈 Spring Web Flow (SWF) 1.0 RC3 (釋出候選版3) 已釋出。  下載 | 文件 | 更新日誌

這個穩定版本包含了錯誤修復和次要改進。   目前我們預計這將是 Spring Web Flow 1.0 最終版本釋出前的最後一個候選版本,最終版本即將釋出。  值得注意的改進包括...

值得注意的改進

改進了流程異常層次結構。  總體而言,異常層次結構現在更清晰地組織了從流程定義訪問(FlowLocatorException)到執行時流程執行(FlowExecutionException)和執行永續性(FlowExecutionRepositoryException)的故障類別。

 

改進了在 Portlet 環境中使用後退按鈕的支援。  結合基於延續的儲存庫,SWF 在 Portlet 環境中支援在流程處於活動狀態時完全使用瀏覽器導航按鈕(後退、重新整理)。  當流程執行終止時,瀏覽器重新整理將自動觸發新的執行啟動。

更簡單的預設 JSF 檢視對映。  現在,預設情況下,SWF 檢視名稱應與 JSF 檢視 ID 完全對應。您將在 sellitem-jsf 示例中看到此預設設定——請注意檢視是如何像標準 JSF 導航處理程式一樣被引用為 "/priceAndItemCountForm.jsp" 的。  這允許自然地支援其他 JSF 檢視技術,例如 Facelets,並且對於 JSF 開發人員來說是一個更自然的預設設定。  如果您需要自定義 SWF 到 JSF 檢視對映,請將自定義 ViewIdMapper 插入到您的 FlowPhaseListener 中。

示例應用程式簡化。  我們簡化了 fileupload、flowlauncher、birthdate 和 sellitem 示例,以利用 Spring Web Flow 的最新功能和最佳實踐。

潛在的使用者影響變更

在通往 1.0 最終版本的道路上,1.0 RC3 存在一些潛在的使用者影響變更。  以下部分將對此進行說明。

為了簡化,移除了 FormAction 屬性 "validateUsingValidatorMethod"。  經驗表明,此屬性是新使用者的困惑來源。  作為更好的替代方案,要在不進行驗證的情況下執行資料繫結操作,只需從您的流程定義中呼叫 "bind" 動作方法即可。  當您需要分步驗證時,只需呼叫 "bindAndValidate" 或 "validate",並將 "validatorMethod" 屬性設定為特定的驗證器方法即可。  請參閱 sellitem 示例。

StateExceptionHandler 已重新命名為 "FlowExecutionExceptionHandler"。 這會影響自定義處理程式實現。  要升級,只需實現新的介面;其簽名在邏輯上是相同的。

FlowExecutorImpl 的 "redirectOnPause" 屬性現在接受布林值而不是 RedirectType 列舉。  從 1.0 RC2 開始,SWF 中只有一種重定向型別——流程執行重定向。  將此標誌設定為“true”會在每次流程執行透過進入檢視狀態而暫停時觸發它。  請參閱 Numberguess 或 sellitem 示例。
--------

開始使用 Spring Web Flow 的最佳方法之一是檢視和演練示例應用程式。  我們建議從一開始就檢視所有示例,並根據需要補充參考手冊材料。1.0 RC3 版本附帶了十個示例應用程式,每個都展示了不同的產品功能集。  這些示例是:

1. 電話簿 - 展示大多數功能(包括子流程)的原始示例
2. 銷售商品 - 展示帶條件轉換、流程執行重定向、會話作用域和延續的嚮導
3. 流程啟動器 - 展示啟動和恢復流程的所有可能方式
4. 商品列表 - 展示 REST 風格 URL 和內聯流程
5. 運費 - 展示 Spring Web Flow 與 Ajax 技術結合(感謝 Steven Devijver)
6. 猜數字 - 展示有狀態 bean 和“單鍵”流程執行重定向。
7. 生日 - 展示 Struts 整合
8. 檔案上傳 - 展示多部分檔案上傳
9. 電話簿-Portlet - Portlet 環境中的電話簿示例
(請注意流程定義沒有變化)
10. 銷售商品-JSF - JSF 環境中的銷售商品示例

祝您使用愉快!

Spring Web Flow 團隊

Keith Donald
Erwin Vervaet
Juergen Hoeller
Colin Sampaleanu
Rob Harrop

Spring 2.0 RC1 釋出

釋出 | Juergen Hoeller | 2006年6月21日 | ...

親愛的 Spring 社群:

我們很高興地宣佈 Spring 2.0 RC1 已釋出。  下載 | 文件 | 更新日誌

這是 Spring 2.0 在過去六個月釋出五個里程碑版本後的第一個釋出候選版本。這個穩定版本正在等待廣泛的使用者反饋,目標是在七月初發布 2.0 最終版本。

Spring 2.0 的主要新主題是:

  1. 簡化配置 - 您會發現您編寫的程式碼總量大大減少,以配置您的應用程式。  您編寫的程式碼是高階的、領域特定的,受益於智慧預設值以及豐富的驗證和工具支援。

  2. 強大的 AOP 統一 - 您可以使用 AspectJ 簡潔地將切面編織到您的物件之前、之後和周圍,從而應用自定義行為,同時仍然受益於 Spring AOP 執行時的簡單性。

  3. JSR 220 Java Persistence Architecture (JPA) - 為您提供永續性提供者實現的選擇。  Spring 是第一個在 JEE 和 JSE 環境中都支援 JPA 的框架,並且兩者之間具有完全的可移植性。

  4. 非同步 JMS 訊息傳遞 - 訊息驅動的 POJO 為 JSE 環境帶來了輕量級的非同步元件,並可選擇 JMS 提供商。

  5. JSR-168 Portlets - Spring Portlet MVC 提供了一個用於開發 JSR 168 Portlet 的框架,其中包括與 Spring Web Flow 整合,以協呼叫戶互動。

需要強調的是,Spring 2.0 提供了與 Spring 1.x 系列的向後相容性。  相容性對我們的使用者群至關重要,我們致力於提供它。

這些領域的其他主要新功能包括...

配置簡化
  • 基於 XML schema 的 bean 定義,以及用於簡化常見配置任務的開箱即用的 XML 名稱空間
  • 支援應用程式上下文中的擴充套件 bean 作用域,主要目標是 Web 請求和會話作用域
  • Bean 定義增強:bean 類的延遲載入、集合合併和智慧錯誤訊息
AOP
  • 基於 XML 模式名稱空間的簡化 AOP 配置
  • 支援 AspectJ 切點表示式語言和 @AspectJ 風格的切面
  • 支援對任何物件進行依賴注入,包括細粒度領域物件(基於 AspectJ)
持久化和 JPA
  • 增強的 JDBC 支援:命名 SQL 引數,基於泛型的 SimpleJdbcTemplate
  • 明確支援 Hibernate 3.1 和 3.2(同時保持與 Hibernate 3.0 的相容性)
  • 支援 Java 持久化 API (JPA),包括完整的容器契約和類儀器
排程和訊息傳遞
  • 用於提交非同步工作的 TaskExecutor 抽象
  • 支援各種執行緒池,例如 Java 5 ThreadPoolExecutor 和 CommonJ WorkManager
  • 支援基於訊息監聽器容器的非同步 JMS(“訊息驅動 POJO”)
Web 應用程式開發
  • 基於約定的 Web MVC:控制器對映、模型屬性名稱
  • 用於 Spring Web MVC 和 Spring Web Flow 的 JSP 表單標籤庫
  • 全面支援 Portlet 環境,包括基於 DispatcherPortlet 的 Portlet 風格 MVC

... 以及更多細節方面的諸多改進。

要檢視這些功能的實際應用,請查閱釋出包中 samples/jpetstore 目錄下的 JPetstore 參考應用程式。  更多詳細資訊請參閱參考文件的 2.0 新特性 部分。

我們將在未來幾天與 Maven2 社群合作,將 2.0 RC1 上傳到 Maven 倉庫。

感謝 Spring 社群為本次釋出提供的所有反饋。  我們期待您為 2.0 GA 釋出日期提供更多反饋!

祝好, 

Juergen Hoeller
Spring 2.0 產品開發負責人

Spring Web Services 1.0 M1 釋出

釋出 | Arjen Poutsma | 2006年6月12日 | ...

親愛的 Spring 社群:

我很高興地宣佈 Spring Web Services 1.0 M1 已釋出。下載 | 文件 | 更新日誌

此版本是 Spring-WS 的第一個里程碑版本:一個由 Spring 社群主導,專注於建立文件驅動的 Web 服務的專案。

Spring-WS 1.0 M1 包括:

  • 基於 Apache Axiom 的流式 SOAP 訊息模型,
  • 與 Acegi 整合的 WS-Security 支援,
  • JAXB 2.0 marshaller 支援,
  • 自 0.9.1 以來發現的許多進一步的改進和問題修復。

詳情請參閱更新日誌

有關 Spring-WS 及其目標的更多資訊,請參閱 Spring-WS 主頁

Spring Web Flow 1.0 RC2 釋出

釋出 | Keith Donald | 2006年6月10日 | ...


 

親愛的Spring社群,

我們很高興地宣佈 Spring Web Flow (SWF) 1.0 RC2 (釋出候選版 2) 已釋出。  下載 | 文件 | 更新日誌

此版本包含錯誤修復和次要改進。   1.0 RC2 的新功能和值得注意之處包括...

新特性和值得注意的改進

支援以可配置的方式將新啟動的流程執行輸入從其呼叫環境傳遞。  預設情況下,所有請求引數都作為輸入暴露。  流程可以選擇使用其輸入對映器將此輸入對映到其自身的本地作用域。  此對映器定義了流程的輸入契約,無論流程是作為頂層流程還是子流程啟動,該契約都是一致的。

考慮以下請求 URL 作為示例:

https://:8080/flights/search-flow?flightNumber=12345

預設情況下,當訪問此 URL 時,後臺的 FlowExecutor 會將 "flightNumber" 請求引數放入一個 "輸入對映" 中。  然後將該輸入對映傳遞給 "search-flow" 的新執行。

在 search-flow 定義中

<flow start-state="executeSearch">
    <input-mapper>
        <mapping source="flightNumber" target="flowScope.flightNumber"/>
    </input-mapper>

    ...
</flow>
上述 <input-mapper> 定義了流程的輸入契約,宣告此流程支援 "flightNumber" 輸入屬性。  當啟動時提供了 flightNumber,它將被對映到 "flowScope" 中,名稱為 "flightNumber"。  對映器還能夠在對映操作期間執行型別轉換。

要自定義流程執行輸入對映的填充,例如,從請求路徑或某些其他外部源拉取屬性,請配置 "FlowExecutorImpl.inputMapper" 屬性。

支援在 JSR168 Portlet 環境中進行流程執行和外部重定向。  結合基於延續的儲存庫,這允許在 Portlet 環境中使用瀏覽器導航按鈕(後退、重新整理)。  此外,在 Portlet 環境中,我們現在暴露了一個 "globalSessionMap" 屬性,用於訪問 Portlet Session APPLICATION_SCOPE 中的屬性。

一個新的儲存庫工廠名為 "SingleKeyFlowExecutionRepositoryFactory"。 該實現為每個持久化流執行生成一個唯一的識別符號。  它對於實現 1.0 EA "會話重定向" 語義很有用——即每次 POST 後,REDIRECT-GET 都會訪問一個穩定的 "流執行 URL",該 URL 中嵌入了常量流執行鍵。  請參閱 NumberGuess 示例以進行說明。

引入了一個獨立的“會話”子系統,所提供的流執行倉庫實現會委託該子系統來劃定管理流執行狀態的邏輯會話。  此會話子系統完全獨立於 Spring Web Flow 的其餘部分,可在 SWF 之外使用,並可能隨著時間的推移發展成為獨立的模組。  核心服務介面包括:

public interface ConversationService {
    public Conversation beginConversation(ConversationParameters parameters);
    public Conversation getConversation(ConversationId id);
    public ConversationId parseConversationId(String encodedId);
}


public interface Conversation {
    public ConversationId getId();
    public void lock();
    public void end();
    public Object getAttribute(String name);
    public void setAttribute(String name, Object value);
    public void removeAttribute(String name);
    public void unlock();
}
當啟動一個新的流程執行並需要在一個請求之外持久化時,儲存庫會呼叫 "beginConversation" 來啟動一個新的邏輯
會話,並將屬性放置在會話作用域中以跟蹤執行狀態。  同樣,當流程執行結束時,管理會話也會結束,並且任何分配的狀態都將被清理。

未來,我們期望在這個系統中提供強大的功能,包括透過 JMX 進行會話監控和管理,以及會話歷史和統計資料。  我們還期望證明它適用於 Spring Web Flow 之外的其他環境。  特別感謝 Juergen Hoeller 和 Ben Hale 在此可移植會話服務抽象設計中的幫助。


潛在的使用者影響變更

在通往 1.0 最終版本的道路上,1.0 RC2 存在一些潛在的使用者影響變更。  以下部分將對此進行說明。

在 spring-webflow-dtd 中,我們為了與其他屬性和元素名稱保持一致,將 '<action/>' 元素屬性 'resultName' 和 'resultScope' 分別重新命名為 'result-name' 和 'result-scope'

為了簡化,移除了 FormAction 屬性 "bindOnSetupForm" 和 "validateOnBinding"。  經驗表明,這些屬性很少使用  並且一直是新使用者的困惑來源。  作為更好的替代方案,要在進入檢視狀態之前執行資料繫結操作,只需從您的流程定義中呼叫 "bind" 動作方法即可。  要計算是否應為 bindAndValidate 嘗試進行驗證,請重寫單個 "validationEnabled(RequestContext)" 鉤子。

移除了 FormAction 的 "exposeFormObject" 動作方法。  簡單地使用 "setupForm" 即可,這是首選方法。

FlowExecutionRepository 和 FlowExecutor SPI 介面已簡化。  更多的邏輯現在封裝在 FlowExecutionRepository 之後,包括生成的 FlowExecutionKeys 的結構和格式。  此外,FlowExecutionRepository 現在嚴格負責管理持久化的流程執行,別無他事。  “會話”這一附加概念不再為 SWF 核心所知。  這意味著幾點:

  • 整個儲存庫介面更簡單,更易於建立具有自定義 FlowExecutionKeys 的自定義 FlowExecutionRepositories。
  • SWF 核心詞彙更強:流程執行器呼叫流程執行來執行流程。  超過一個請求仍然活動的執行將被持久化到儲存庫中。
  • 預設的儲存庫實現選擇委託給一個獨立的“會話子系統”來跟蹤由執行系統驅動的會話狀態,但對該系統的依賴是完全封裝和可選的。

FlowExecutor 介面是 SWF 的入口點,它也為呼叫者簡化了。  它現在封裝了複雜內部型別(如 EventIds 和 FlowExecutionKeys)的知識,因此總體上更易於使用。
FlowExecutor 介面,作為 SWF 的入口點,也為呼叫者進行了簡化。  它現在封裝了複雜內部型別(例如 EventIds 和 FlowExecutionKeys)的知識,因此總體上更易於使用。

同樣,對顯式“會話重定向”的支援已被移除。  這表示移除了 "conversationRedirect:"
“view”字首和“CONVERSATION”RedirectType。  要在 1.0 RC2 中實現相同的邏輯重定向語義,只需將 FlowExecutor 配置為 redirectOnPause 型別 FLOW_EXECUTION 和 repositoryFactory 為
SingleKeyFlowExecutionRepositoryFactory。
--

Spring Web Flow 1.0 RC2 進一步完善了參考手冊,提供了 50 頁關於 SWF 使用的資料。  該手冊以 HTML 和 PDF 格式線上提供。

開始使用 Spring Web Flow 的最佳方法之一是檢視和演練示例應用程式。  我們建議從一開始就檢視所有示例,並根據需要補充參考手冊材料。1.0 RC2 版本附帶了十個示例應用程式,每個都展示了不同的產品功能集。  這些示例是:

1. 電話簿 - 展示大多數功能(包括子流程)的原始示例
2. 銷售商品 - 展示帶條件轉換、流程執行重定向、會話作用域和延續的嚮導
3. 流程啟動器 - 展示啟動和恢復流程的所有可能方式
4. 商品列表 - 展示 REST 風格 URL 和內聯流程
5. 運費 - 演示 Spring Web Flow 與 Ajax 技術結合使用
(感謝 Steven Devijver)
6. 猜數字 - 演示有狀態 Bean 和“單鍵”流程
執行重定向。
7. 生日 - 展示 Struts 整合
8. 檔案上傳 - 展示多部分檔案上傳
9. 電話簿-Portlet - Portlet 環境中的電話簿示例
(請注意流程定義沒有變化)
10. 銷售商品-JSF - JSF 環境中的銷售商品示例

要一步構建用於部署的示例應用程式,只需解壓釋出檔案,訪問 projects/spring-webflow/build-spring-webflow 目錄,然後執行 "ant dist" 目標即可。  請參閱 release readme.txt 和
projects/spring-webflow/spring-webflow-samples/readme.txt 分別獲取有關釋出存檔內容和示例的更多資訊。
所有示例專案都是 Spring IDE 專案,可直接匯入 Eclipse。

感謝所有支援本次釋出的人。  目前,我們預計 SWF 的下一個版本將是 1.0 最終版,目標釋出時間在六月底
。  如果有需要,仍有可能釋出另一個 1.0 版本候選。  請務必關注 SWF 主頁和
論壇以獲取更新。

祝您使用愉快!

Spring Web Flow 團隊

Spring Web Flow 1.0

釋出 | Keith Donald | 2006年6月10日 | ...

 

產品負責人
Keith Donald,SpringSource
Erwin Vervaet,Ervacon
 
Spring Web Flow 是下一代 Java Web 應用程式控制器框架,允許開發人員將使用者操作建模為可在任何環境中執行的高階模組(稱為流)。  該框架提高了生產力和可測試性,同時提供了強大的解決方案來強制導航規則和管理應用程式狀態。  

全域性概覽

Spring Web Flow 允許開發人員構建可重用、自包含的...

Spring IDE 1.3.1 釋出

釋出 | Torsten Juergeleit | 2006 年 6 月 8 日 | ...

親愛的Spring社群,

我們很高興地宣佈 Spring IDE 1.3.1 已釋出。

此版本的 Spring IDE 提供了大量 bug 修復。有關完整列表,請訪問 http://springide.org/project/milestone/Release%201.3.1

更改

  • 現在,只有當您想使用 BeansXmlEditor 時才需要 Web Tools
  • 修復了影像快取中的資源洩漏
  • 更新到 Spring 1.2.8

更多詳情可從專案網站 http://springide.org/ 獲取

使用 Eclipse 的更新管理器從專案的更新站點 http://springide.org/updatesite/ 安裝 此版本

對於 bug 報告,可以提交工單...

Acegi Security 1.0.0 釋出

釋出 | Ben Alex | 2006年5月30日 | ...

經過兩年半多的開發,我很高興地宣佈 Acegi Security 1.0.0 現已正式釋出。

下載 | 文件 | 更新日誌 

除了自 1.0.0 RC2 以來的 80 多項改進和修復之外,此新版本還包含多項更改,旨在幫助新使用者。這包括對參考指南的重大重組和擴充套件(現在超過 90 頁)以及一個新的“骨架”教程示例應用程式。

此外,許多新使用者經常遇到的問題也已得到解決,例如:

  • 自定義 403 訊息(而不是使用 Servlet 容器的錯誤處理程式)
  • 檢測 XML 檔案重新格式化後損壞的屬性輸入
  • 一個新的登出過濾器。 

我們還重構了 LDAP 服務,將 SecurityContextHolder 變為可插拔策略(對於希望避免 ThreadLocal 的富客戶端尤其有用),並改進了 CAS 支援。

請訪問此處獲取詳細的變更日誌。與往常一樣,詳細的升級說明包含在釋出 ZIP 檔案中。

該專案的網站 http://acegisecurity.org 提供了有關 Acegi Security 功能的更多資訊、線上文件訪問以及最新版本下載連結。下個月我也會在 SpringOne 上就 Acegi Security 進行演講,希望能在那裡見到大家。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視所有