Sun 的 GlassFish 擁抱 Spring

工程 | Rod Johnson | 2007年2月16日 | ...

如今,Sun 認真對待開源,使用者似乎也開始認真對待 Sun 的開源了。

GlassFish 雖然後進入開源應用伺服器領域,但似乎正在獲得認可。更重要的是,它實際上相當不錯。Interface21 的幾位成員,包括 Costin 和 Juergen,都考察了 GlassFish 並表示讚賞(儘管我們尚未在生產環境中使用過它)。據我所聞,其效能非常出色——這很可能很大程度上歸功於基於 NIO 重構的 Servlet 引擎。JPA 實現 TopLink Essentials 也應該表現良好,因為它基於成熟且高效能的 TopLink 引擎。

GlassFish 已經有實際被採用的證據:例如,著名的澳大利亞酒店預訂服務 Wotif.com 就是一個例子。根據我最近澳大利亞之行的經歷,Wotif 是那種普通人(而不僅僅是技術人員)會談論的網站,就像 eBay 和 lastminute.com 一樣。

當然,Wotif.com 也在使用 Spring。我認為 Sun 在企業 Java 領域變得更加重要的部分原因是,他們現在更能融入更廣闊的世界,並且願意採納並響應外部意見。

因此,Sun 已經在多個領域(尤其是在 Web 服務堆疊中)為 GlassFish 提供 Spring 支援。這尤其有趣,因為 GlassFish 的 Web 服務部分(自然地)是 RI。

GlassFish 開發者 Kohsuke Kawaguchi 最近在其部落格中談到了 JAX-WS 堆疊中的 Spring 支援。這非常棒,因為它透過提供一個 Spring 2.0 名稱空間處理器來實現。請注意,同時使用了 JAX-WS 名稱空間和核心 Spring Beans 名稱空間,允許將 Spring Bean 定義與 JAX 特定配置混合。


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:ws= "http://jax-ws.dev.java.net/spring/core"
       xmlns:wss="http://jax-ws.dev.java.net/spring/servlet" ...>

  <wss:bindings id="jax-ws.http">
    <wss:bindings>
      <wss:binding url="/stockQuote">
        <wss:service><!-- nested bean is of course fine -->
          <ws:service impl="foo.MyService">
            <ws:handlers>
              <ref bean="myHandler" />
            </ws:handlers>
          </ws:service>
        </wss:service>
      </wss:binding>
    </wss:bindings>
  </wss:bindings>

  <bean id="myHandler" class="foo.MyHandler" />
</beans>

這與 Spring remoting 的方式相反,後者是 remoting 技術基本呼叫 Spring,而不是 Spring 匯出服務,但它的整合同樣出色且易於使用。大概也可能匯入其他 Spring 配置檔案來利用現有的 Bean 定義。

Kohsuke 補充了一個有趣的觀點:

由於 Spring 支援是開放式的,因此可以利用它來啟用其他 JAX-WS 擴充套件。例如,我們可以使用它來配置 JMS 傳輸,或者配置 JSON 編碼等。
現在,Web 服務端點可以直接利用 Spring 所提供的一切:所有配置功能、宣告式服務和企業整合……

JAX-WS RI 的 Spring 整合 文件 在這裡。

Spring 支援在 GlassFish 社群似乎廣受歡迎。我們也希望聽到 Spring 社群的反饋。您希望在 GlassFish 中看到哪些整合功能?WebLogic 中已釋出的一些整合功能,如增強的事務管理和 JMX/控制檯整合,可能是一個不錯的起點。

當然,我們在 Spring 2.0 中已經為 JPA 和 TopLink Essentials(GlassFish 中的 JPA RI 和持久化引擎)做了很多工作。Mike Keith,EJB 3.0 聯合負責人、TopLink 核心開發者和 ORM 方面的全能專家,提供了極大的幫助,我們發現整個 TopLink 團隊反應迅速。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視所有