Sun 的 GlassFish 擁抱 Spring

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

Sun 現在認真看待開源,而使用者似乎也開始認真看待 Sun 的開源。

GlassFish 在開源應用伺服器方面起步較晚,但似乎正在獲得關注。而且,更重要的是,它實際上似乎相當不錯。包括 Costin 和 Juergen 在內的幾位 Interface21 成員都看過 GlassFish 並給予了肯定(儘管我們尚未在生產環境中使用它)。根據我所聽到的,效能非常出色--這可能很大程度上歸功於基於 NIO 的重新設計的 Servlet 引擎。 JPA 實作--TopLink Essentials--也應該表現良好,它基於成熟且高效的 TopLink 引擎。

還有 GlassFish 真正被採用的證據:例如,著名的澳洲飯店預訂服務 Wotif.com。從我最近的澳洲之行來看,Wotif 是像 eBay 和 lastminute.com 這樣的網站之一,是普通人(而不僅僅是技術人員)會談論的網站。

當然,Wotif.com 也在使用 Spring。 我認為讓 Sun 在企業 Java 領域更具相關性的部分原因是,他們現在更了解更廣闊的世界中發生的事情,並且願意聽取意見並採取行動。

因此,Sun 一直在朝著在多個領域為 GlassFish 提供 Spring 支援的方向發展,尤其是在 Web 服務堆疊中。這特別有趣,因為 GlassFish 的 Web 服務部分(自然地)是 RI。

GlassFish 開發人員 Kohsuke Kawaguchi 最近在部落格中寫道 JAX-WS 堆疊中的 Spring 支援。 這特別酷,因為它通過提供 Spring 2.0 命名空間處理器來工作。 請注意 JAX-WS 命名空間與核心 Spring Bean 命名空間的使用,允許將 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 做了很多工作,TopLink Essentials 是 GlassFish 中的 JPA RI 和持久性引擎。 EJB 3.0 聯合負責人、核心 TopLink 開發人員和通用 ORM 大師 Mike Keith 提供了很大的幫助,我們發現整個 TopLink 團隊非常積極。

取得 Spring 電子報

訂閱 Spring 電子報,隨時掌握最新資訊

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進度。

了解更多

取得支援

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

了解更多

即將舉行的活動

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

查看全部