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 远程调用相反,远程调用技术基本上是调用 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 和持久性引擎)进行了大量工作。EJB 3.0 联合负责人、核心 TopLink 开发人员兼通用 ORM 专家 Mike Keith 提供了很大的帮助,我们发现整个 TopLink 团队都非常响应。

获取 Spring 简报

通过 Spring 简报保持联系

订阅

领先一步

VMware 提供培训和认证,助您快速提升技能。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部