Web 應用與 OSGi

工程 | Costin Leau | 2008年4月29日 | ...

自 Spring Dynamic Modules 首個里程碑釋出以來,在 OSGi 中執行 web 應用的需求便接踵而至。這可能是最受期待的功能之一,也難怪,1.0 最終版本釋出後,Web 支援便成為 1.1 分支的主要重點。我很高興地報告,隨著剛剛釋出的 M2,正如 Juergen 已經暗示的,Spring-DM 不僅支援普通的 war 包(自 1.1.0 M1 起可用),還支援在 OSGi 內部執行的 Spring-MVC 應用。在這篇文章中,我想簡要討論典型的 OSGi web 場景和 Spring-DM 的方法。但首先,

為何在 OSGi 中部署 WAR 包?

簡單的問題:OSGi 原生提供了版本控制、包連線和熱過載。想象一下在你的應用中利用這些特性:你可以停止在以下目錄中嵌入庫WEB-INF/lib並開始在你的 web 應用之間共享它們,避免 taglibs 重複(同時保持多個版本執行),並在執行時只更新應用的某些部分。這尤其有用,因為 web 應用往往是分層的,因此在其生命週期中會經歷大量的變化。

為何在 OSGi 中執行 web 應用會存在問題?

Servlet 規範圍繞著 web 容器 的概念展開:一個為 web 元件提供標準服務(例如生命週期管理(物件建立和銷燬、執行緒分配)、併發、HTTP 請求處理等等)的執行時環境。另一方面,OSGi 平臺也作為一個託管環境,擁有其服務登錄檔、包連線和版本控制(僅舉幾例)。為了解決這個問題,OSGi 委員會在綱要規範中設計了 Http Service

如今,可移植性比以往任何時候都更重要

工程 | Juergen Hoeller | 2008年4月29日 | ...

昨天,我寫了一篇部落格,關於Spring 如何幫助最大化應用可移植性。儘管可移植性問題多年來一直是企業 Java 領域的一個持續話題,但那篇部落格恰逢其時。今天,Oracle 宣佈其對 BEA Systems 的 67 億美元收購已經完成。這兩家公司的產品線存在大量重疊,因此這必然會給 WebLogic 和 OC4J 的客戶群帶來不確定性。WebLogic 和 OC4J 可能都屬於“J2EE 伺服器”類別,但它們是截然不同的產品,具有截然不同的特性。

由於許多企業…

框架層面的可移植性

工程 | Juergen Hoeller | 2008年4月28日 | ...

可移植性是 Spring 世界中的一個關鍵因素。我們相信框架層面的可移植性:應用元件針對特定的框架(或框架代)編寫,例如 Spring 2.5;然後,框架負責適應任何底層託管環境。然而,特定的應用框架高於並區別於託管環境。一個全新的框架版本可以部署到現有的託管平臺一代上,只要環境的基本能力足夠。這種方法…

會議季持續進行

工程 | Rod Johnson | 2008年4月24日 | ...

昨天我在德國威斯巴登的 JAX 會議上發表了開幕主旨演講。JAX 是歐洲最大的 Java 會議之一,有 2,000 多名與會者。主題是 企業級 Java 的未來,我圍繞我的近期部落格預測展開,更詳細地探討了 Java EE 6 的影響和應用伺服器的未來。
我已經上傳了幻燈片,其中包括對企業級 Java 演變中一個有趣時期的 8 個預測。這是我第一次在同一個簡報中提及約瑟夫·斯大林、莫妮卡·萊溫斯基和巨蟒劇團。

Spring Security 2.0 最終版釋出:不再有“死亡的仙女”

工程 | Rod Johnson | 2008年4月17日 | ...

Spring Security 2.0 已釋出。這是 Spring Portfolio 的一個重要進步。Spring (Acegi) Security 已經是 Java 平臺上使用最廣泛的企業級安全框架,在 SourceForge 上有超過 250,000 次下載,每次釋出有超過 20,000 次下載。透過使其使用起來更簡單,這個版本無疑會將採用率提升到一個新的水平。

我對這個版本感到特別高興,原因如下

  • 這對 Spring 社群來說是件好事。它使用起來(很多)更簡單,也更強大。它將最強大的企業級 Java 安全解決方案帶給了更多使用者,幾乎消除了採用的障礙。請參閱這個教程,瞭解它如何使保護典型的 web 應用變得更容易。XML bean 定義的泛濫已成為過去。
  • 它是 Spring 2.x 工作的一種延續,透過應用自定義 XML 名稱空間的強大功能來實現激進的預設設定,同時仍然允許自定義。
  • 和 Spring 2.5 一樣,它體現了當前 Spring Portfolio 向激進減少對 XML 需求的趨勢。
  • 這證明了 SpringSource 商業模式的價值。我們的收入模式使我們能夠以前所未有的力度投資建立開源軟體。如果不能同時聘請 Acegi/Spring Security 的建立者 Ben Alex 和另一位主要提交者 Luke Taylor,這個版本要麼不會出現,要麼規模會小得多。
  • 對“仙女王國”有利

Acegi/Spring Security 的建立者 Ben Alex 和 Luke Taylor 做得很棒。Ben 將在下個月的 Java One 會議上談論 Spring Security。如果…

SpringSource Tool Suite 中的執行時錯誤分析

工程 | Alef Arendsen | 2008年4月14日 | ...

三週前,SpringSource Tool Suite 釋出了。負責這個產品的 Christian 已經寫過部落格,我們也為想了解它目前提供所有功能的各位提供了網路研討會。在這篇文章中,我想特別強調執行時錯誤報告功能。

在我程式設計時,有時控制檯視窗會由於我引起的一些錯誤而顯示數十個堆疊跟蹤。有時我很幸運,堆疊跟蹤看起來很熟悉。如果是這樣,那麼問題可能很容易解決。但有時…

《超級減肥王》的下一位參賽者:Java 臃腫軟體

工程 | Rod Johnson | 2008年4月10日 | ...

如果技術社群舉辦自己的流行電視節目《超級減肥王》(或者可能是《名人瘦身俱樂部》),你就會看到企業級 Java 居於中心——臃腫、超重、疲憊不堪。

企業級 Java 的未來正變得清晰。病態肥胖的遺留平臺正在衰落,而精簡的解決方案越來越多地用於生產和開發EJB 等遺留技術正變得越來越不相關。Java EE 5 的冷淡接受度使其越來越像傳統 J2EE 臃腫軟體的最後一搏。同時,Java EE 6 規範最終將允許更高的模組化程度,這是一個根本性的改變,將對開發者產生重要影響,並可能重振實現之間的競爭。隨著基於這些標準和產品的軟體不斷增加脂肪,SOA、Web 2.0 和其他基礎設施變化不斷提出未曾預見的新需求…

2008年5月23日第二季度阿姆斯特丹 Java Meetup

工程 | Alef Arendsen | 2008年4月8日 | ...

有一段時間了……對於阿姆斯特丹 Java Meetup 來說。我最近經常旅行,過去一個季度未能組織另一次聚會。但現在我們又開始了:(幾乎)季度性的阿姆斯特丹 Java Meetup,提供免費飲料(至少是前幾輪),將於5月23日阿姆斯特丹的 grand-cafe de Jaren 舉行(地點詳情請見下文)。你可以期待許多 Java 開發者(通常有 50 到 80 人參加),技術和非技術討論,當然還有荷蘭 Java 行業的最新八卦。我們很想聽聽來自…

SpringSource 應用管理套件 (AMS) 釋出

工程 | Jennifer Hickey | 2008年3月31日 | ...

自 SpringSource 與 Hyperic 合作將我們的應用管理套件 (AMS) 產品推向市場以來,已經過去了忙碌的幾個月。我很高興地宣佈 SpringSource AMS 的beta 版現已向所有人提供。請花點時間評估軟體並在beta 論壇上發表您的想法。我們致力於為 Spring 應用提供最佳的應用管理體驗,非常感謝您的反饋!

在 12 月份的 The Spring Experience 活動中對 SpringSource AMS 表示興趣的人員收到了宣佈 beta 版的電子郵件…

Spring Web Services 1.5 有哪些新特性?

工程 | Arjen Poutsma | 2008年3月29日 | ...

經過大約六個月的開發,我很高興地宣佈 Spring Web Services 1.5.0 已經發布了!在這篇文章中,我想介紹一些主要的新的特性。

新的傳輸方式

1.5 版本包括兩種新的傳輸方式:JMS 和電子郵件。使用這些新的傳輸方式不需要更改 Java 程式碼:只需新增一些配置,就可以開始使用了!JMS 傳輸方式與 Spring 2 的訊息驅動 POJO 模型很好地整合,如下所示的配置片段取自航空公司示例應用


<jms:listener-container connection-factory="connectionFactory">
  <jms…

獲取 Spring 郵件簡報

透過 Spring 郵件簡報保持聯絡

訂閱

領先一步

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

瞭解更多

獲取支援

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

瞭解更多

即將舉行的活動

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

檢視全部